受新型冠状病毒的影响,响应国家号召,乖乖呆在家里。没事的时候学习RT_thread。 居然遇到了这样的一个奇葩问题,配置好的串口3 RX出现一直接收 0A 0D 数据的问题。
现象如下: 当不开启16进制显示的时候一直在刷空白。
更加奇怪的现象还有:
1. 当我裸核心板时,就是RX上什么都不接,没有这种异常输出。
2. 当我在RX上插上一根杜邦线(一头插RX,一头悬空什么都不接)就出现这种问题。
3. 当我把RX、TX、GND接上TTL转USB工具 后接上电脑后又没有了异常输出。
尝试到这里的时候,我大约有点思路了。应该是 串口配置RX引脚的模式有问题,应该设置成为了浮空输入,导致干扰出现。
验证:
进入STM32CubeMX进行查看。
果然RX引脚设置为的浮空输入模式,看来还是自己大意了,以前很少使用CubeMX的。我们把它修改为上拉输入模式。
结果:
输出正常,不再有异常数据的出现