STM32F103串口数据乱码排查笔记

问题是这么发生的,负责驱动的同事上个月离职了,调试他留下来的驱动程序时发现串口数据收发都不对。
用示波器抓取波形,发现输入输出波形不一致,但是大体形状相同,后来排查下来怀疑是波特率不对STM32F103串口数据乱码排查笔记

对照波特率计算公式STM32F103串口数据乱码排查笔记

查看代码,代码中fck使用的是8M,STM32F103串口数据乱码排查笔记
查看系统时钟初始化函数,pclk1是主频2分频之后的频率,而主频是64M
STM32F103串口数据乱码排查笔记
所以,问题应该就在这里了,修改串口的时钟为32M,烧写测试,结果正确了。