串口配置 2400/9600/57600/115200 波特率出现异常
使用16M时钟的时候,2400和115200不正常,乱码,但是在这中间频率又是好的;修改时钟才能适应不同时钟频率。。。;看寄存器配置是完全没有问题的。
经过分析,是因为在配置串口波特率的时候BBR1,BBR2的配置顺序有问题引起的。
解决方法:
确保先配置BBR2再配置BBR1,否则会出现波特率异常
USART1->BBR2 = XXXXX;
USART1->BBR1 = XXXXX;
串口配置 2400/9600/57600/115200 波特率出现异常
使用16M时钟的时候,2400和115200不正常,乱码,但是在这中间频率又是好的;修改时钟才能适应不同时钟频率。。。;看寄存器配置是完全没有问题的。
经过分析,是因为在配置串口波特率的时候BBR1,BBR2的配置顺序有问题引起的。
解决方法:
确保先配置BBR2再配置BBR1,否则会出现波特率异常
USART1->BBR2 = XXXXX;
USART1->BBR1 = XXXXX;