1引言
在有使用串口调试输出的需求后,我使用现有材料 一个usb to ttl模块与板子进行UART调试输入输出,但是最开始我没有使用默认的PA9 PA10作为RX和TX,导致遇到了一点坑,最后通过一步步排查确定了问题的源头
2 问题现象,排查过程,排查实验设计
硬件接线没什么问题,模块的RX接PA9 模块的TX接PA10,模块的3.3伏接外部电源3.3伏,模块的GND接外部的GND
预期的实验现象,串口助手每1秒收到一个字符数据A,实际的现象没有任何字符输出
排查过程:分两步定位,先检查程序逻辑,发送字符函数在循环中调用,但是没生效,说明没有执行到循环部分,问题就出现在初始化函数部分
排查实验设计:通过led的亮灭确认哪个初始化函数有问题,经过实验验证是GPIOB_Init函数有问题,进入该函数进行下一步确认,在这个函数中如果还用led来判断有点麻烦,所以可以用我之前屏幕显示的功能来进行计数,看数字停在哪就是哪一步出现的问题,实验结果是PB5初始化的问题,经过上网搜查资料发现是板子的坑,需要关闭JATG才能重映射到PB5等引脚,并且每烧录一次程序就要重新上电才能生效很麻烦,所以最后采用默认引脚,简单,方便