stm8串口波特率设置需要配置寄存器BRR1和BRR2.编程需要注意的是对BRR1进行幅值操作会更新波特率计数器,所以编程一般先对BRR2进行幅值,如下
UART1->BRR2=0x00; //波特率设置
UART1->BRR1=0x0D; //2M 9600
但是寄存器赋值有个坑,stm8串口波特率寄存器并不是按照计算出来的数值依次赋值的。stm8串口波特率计算赋值举例:假设主时钟为2M,目标波特率为9600,计算的出分频为2M/9600=208,换算为16进制为0x00D0。由于写入格式比较特殊,参考中文手册描述如下:因此BRR2=0x00;BRR2=0x0D;
本文详细介绍了STM8微控制器中串口波特率的设置方法。重点讲解了如何通过配置BRR1和BRR2寄存器实现特定波特率的设定,并提供了主时钟为2M时,目标波特率为9600的具体配置示例。
2946

被折叠的 条评论
为什么被折叠?



