[应用相关] STM32 UART串口问题

[复制链接]
697|0
 楼主| tpgf 发表于 2024-8-22 08:02 | 显示全部楼层 |阅读模式
STM32 UART串口发送数组时,发送第一个字节会被吞掉–数组数据第一个字节接收不到
今天在使用串口时突然出现了一个问题,发送一个97字节的数组时,只接收到96字节,检查发现数组第一个数据没有接收到。

1 问题出现
代码如下

8612366c67fef4bef9.png

1732466c67fe9518d7.png

串口助手接收显示

780566c68009c9c38.png

2 问题找出
调试时突然发现,USART_SR寄存器的TC位是1

9924166c67fe3c757d.png

2636466c67fd160bc5.png

2336866c67fcc2f7dd.png

7328766c67fc6ce2d7.png


所以此函数返回值1,导致while(USART_GetFlagStatus(USART2,USART_FLAG_TC)!=SET);这个循环直接退出,在第一个字节没有发送完,然后开始下一个字节的发送。

3 问题解决

3488566c67e768f477.png

————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/m0_51644053/article/details/141225708

您需要登录后才可以回帖 登录 | 注册

本版积分规则

2389

主题

17665

帖子

21

粉丝
快速回复 在线客服 返回列表 返回顶部