STM32L4串口数据发送异常问题及与串口助手上显示不符的解决策略

现象: 使用STM32L412往串口助手上发送数据,串口助手上显示的数据并不是实际发送的数据
原因:

  1. 波特率设置不正确:在使用串口通信时,发送端和接收端的波特率必须一致,如果设置不一致会导致数据发送和接收出现错误;
  2. 数据位、停止位、奇偶校验位设置不正确:在使用串口通信时,发送端和接收端的数据位、停止位、奇偶校验位也必须一致,如果设置不一致会导致数据发送和接收出现错误;
  3. 上位机解析数据错误:在上位机处理接收到的数据时,可能存在解析错误的情况,需要仔细检查解析代码是否正确;
  4. 数据发送缓存区满:当发送数据的速度超过串口发送缓存区的处理能力时,会导致数据丢失或者错误。

最终解决: 代码是基于寄存器编写的,经过debug查看寄存器的值发现,是由于波特率计算错误即:LPUART1 -> BRR的值错误导致的。

作者:Mekii

物联沃分享整理
物联沃-IOTWORD物联网 » STM32L4串口数据发送异常问题及与串口助手上显示不符的解决策略

发表回复