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

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

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

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

 更加奇怪的现象还有:

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

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

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

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

 

验证:

进入STM32CubeMX进行查看。

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

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

 

结果:

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

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

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

 

你可能感兴趣的:(RT_Thread,STM32)