UART 波特率漂移踩坑记
最近在做嵌入式开发时,遇到了一个让人头疼的问题:UART通信时,波特率总是漂移,导致数据传输错误。一开始以为是软件问题,检查了发送和接收代码,都没有发现问题。
后来,我仔细研究了硬件电路,发现原来是UART晶振的频率不够稳定。晶振的频率不稳定,会导致UART的波特率产生偏差。
解决方法就是更换了一个高稳定性的晶振,通信问题立刻解决了。这让我意识到,嵌入式开发中,硬件问题有时比软件问题更难排查。
UART_Init(115200); // 初始化UART波特率为115200