STM32
直播中

张娜

7年用户 930经验值
私信 关注
[问答]

STM32串口发送不正常的原因?如何解决?

STM32串口发送不正常的原因?如何解决?

回帖(1)

王凯

2021-12-9 11:16:34
很早就知道了这个问题,在串口写入时的速度和发送速度不一样,写入过快会丢失一部分,导致控制不正常。

   为此每次写入前个检查USART_FLAG_TXE位是否为空,下次发送前检查USART_FLAG_TC位是否发送完。

   程序可修改如下

   

  •           USART_SendData(USART1,0xFF); while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) != SET);//是否为空  
       
  •           USART_SendData(USART1,0xFF); while(USART_GetFlagStatus(USART1, USART_FLAG_TC) != SET);//是否发送完  
       
举报

更多回帖

发帖
×
20
完善资料,
赚取积分