因为用CUBEMX进行配置串口时,使用HAL库时,比较简单,尤其是波特率,只需要给出使用的波特率值就可以,系统自动计算,但是有时会发现绝大多数波特率都可以通信正常,但有个别波特率时就不行了,这个基本上就是系统频率选择不对,使得系统在计算后,得到的误差偏大;这是就需要重新选择系统频率;
比如,STM32G431使用外部8M晶振,倍频到150M后,115200波特率就会出现通信错误,这时可以选择使用内部晶振,倍频到132.8M后,就可以了;
因为用CUBEMX进行配置串口时,使用HAL库时,比较简单,尤其是波特率,只需要给出使用的波特率值就可以,系统自动计算,但是有时会发现绝大多数波特率都可以通信正常,但有个别波特率时就不行了,这个基本上就是系统频率选择不对,使得系统在计算后,得到的误差偏大;这是就需要重新选择系统频率;
比如,STM32G431使用外部8M晶振,倍频到150M后,115200波特率就会出现通信错误,这时可以选择使用内部晶振,倍频到132.8M后,就可以了;