受新型冠状病毒的影响,响应国家号召,乖乖呆在家里。没事的时候学习RT_thread。 居然遇到了这样的一个奇葩问题,配置好的串口3 RX出现一直接收  0A 0D 数据的问题。

    现象如下:  当不开启16进制显示的时候一直在刷空白。

RT_thread 配置STM32串口后,RX悬空一直接收到古怪数据 0A 0D 回车换行

 更加奇怪的现象还有:

 1. 当我裸核心板时,就是RX上什么都不接,没有这种异常输出。

 2. 当我在RX上插上一根杜邦线(一头插RX,一头悬空什么都不接)就出现这种问题。

 3. 当我把RX、TX、GND接上TTL转USB工具 后接上电脑后又没有了异常输出。

尝试到这里的时候,我大约有点思路了。应该是 串口配置RX引脚的模式有问题,应该设置成为了浮空输入,导致干扰出现。

 

验证:

进入STM32CubeMX进行查看。

RT_thread 配置STM32串口后,RX悬空一直接收到古怪数据 0A 0D 回车换行

果然RX引脚设置为的浮空输入模式,看来还是自己大意了,以前很少使用CubeMX的。我们把它修改为上拉输入模式。

 

结果:

RT_thread 配置STM32串口后,RX悬空一直接收到古怪数据 0A 0D 回车换行

输出正常,不再有异常数据的出现

RT_thread 配置STM32串口后,RX悬空一直接收到古怪数据 0A 0D 回车换行

 

相关文章:

  • 2021-04-23
  • 2021-04-30
  • 2022-02-08
  • 2022-01-09
  • 2021-11-18
  • 2021-12-18
  • 2021-08-06
  • 2021-04-04
猜你喜欢
  • 2022-12-23
  • 2021-06-13
  • 2022-02-28
  • 2021-12-04
  • 2021-05-11
  • 2021-12-13
  • 2021-12-17
相关资源
相似解决方案