- 博客(17)
- 收藏
- 关注
原创 全网最细!ESP-01S固件烧录保姆级教程[特殊字符]100%成功避坑指南
本文详细介绍了ESP-01S模块的烧录流程,包含硬件准备(USB转TTL、杜邦线、面包板等)、正确接线方法(特别注意EN和IO2必须接VCC)、软件配置步骤(使用特定烧录工具和固件文件),以及完整的操作流程(芯片擦除、固件烧录)和测试方法。作者强调在下载模式和运行模式需要切换IO0电平,并提供了两种供电方案(推荐使用稳定3.3V供电)。最后提示成功测试方法及后续将分享MQTT联网等内容。
2025-11-25 18:35:18
3029
16
原创 取模运算与位与运算优化
文章摘要:本文探讨了在环形缓冲区中将取模运算优化为按位与运算的技术细节。最初在环形缓冲区的头尾指针处理中使用(rb->head + len) % capacity语句,经老师建议可优化为(rb->tail + len) & (capacity-1)。这种优化的核心在于:当缓冲区容量为2的幂次方时,取模运算等价于按位与运算,而后者在CPU中执行效率更高。文章从硬件层面解释了取模运算慢的原因(需要迭代除法),并展示了这种优化在嵌入式系统性能提升中的实际价值。
2025-10-22 15:46:04
1025
原创 MCU(STM32)启动流程——无OS
MCU上电或复位后,硬件检测BOOT引脚状态,将指定存储器的起始地址重映射到0x00000000。CPU从该地址加载初始堆栈指针,并从0x00000004地址获取复位处理函数的入口地址。在主闪存启动模式下,CPU执行Reset_Handler。该函数首先调用SystemInit完成时钟等底层硬件的配置,然后跳转至C库入口函数__main负责建立C语言运行环境,包括将Flash中的.data段复制到SRAM,以及清零SRAM中的.bss段。完成所有初始化后,__main最终调用main()函数,程序开始执行。
2025-10-18 12:12:53
1340
1
原创 Git 拉Github的仓库却要求登录GitLab
我最近一直有一个问题,就是在github拉开源项目学习,然后我发现每次都要求登录gitlab,我一开始以为是git没登陆,当时还不熟悉git,后面我发现就是有gitlab这个平台,一开始我用的是github的账户去登录,然后提示一开始我以为是项目中有指向gitlab的子模块,导致需要登录gitlab的账户。然后我就在克隆的时候屏蔽其子模块发现还是不行,后面我找其根本原因,我怀疑它内部有一个机制应该是可以把我的github.com直接替换成gitlab.com。
2025-09-18 09:53:23
1346
原创 modbus 学习笔记
关于modbus三大功能数据收发解析, 用modbus poll和modbus slave以及虚拟串口来直观感受modbus传输数据的过程
2024-10-21 14:29:11
1187
原创 树莓派串口通信配置
从树莓派的相关资料我们可以看到,树莓派有两个串口可以使用。当我们需要用串口实现树莓派和stm32或其他开发板的通信,则需要将硬件串口给GPIO使用。但默认的硬件串口是分配给蓝牙模块使用的,而性能较差的mini串口是分配给GPIO串口 TXD0、RXD0。接下来就是要来解决这个问题。在终端中输入该命令找到主串口和辅助串口对应的是mini串口还是硬件串口。大多数还没配置的应该跟我一样是如下的对应关系。首先先得确定config.txt文件在哪?这是一个大坑,在大多数教程中,他们的config.txt文件在
2023-11-20 04:41:00
2080
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅