
STM32串口变量的原子操作问题
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本文探讨了在基于STM32微控制器的应用中进行串口通信时遇到的变量访问冲突问题,并提供了解决方案以实现高效的原子操作。
使用串口接收中断方式而非DMA来接收数据时遇到了帧丢失的问题。问题的原因是在串口中断处理函数接收到一个字节后会执行`size++`操作,在主循环中解析一帧数据的时候又会对`size--`进行更新,这样的非原子性操作导致了变量的值不准确,进而引发了解析错误和数据帧丢失的情况。实际原因是对`size`的操作不是原子性的动作。具体的解决方案在文档中有详细说明,并提供了相关程序代码及具体分析。
全部评论 (0)
还没有任何评论哟~


