我做STM8的串口3实验,部分程序如下:
#define HSIClockFreq 16000000
#define BaudRate 115200
本意要初始化波特率115200
/*设置波特率*/
baud_div =HSIClockFreq/BaudRate; /*求出分频因子*/
UART3_BRR2 = baud_div & 0x0f;
UART3_BRR2 |= ((baud_div & 0xf000) >> 8);
UART3_BRR1 = ((baud_div & 0x0ff0) >> 4); /*先给BRR2赋值 最后再设置BRR1*/
实测时,发现串口调试助手必须要设置成128000才能正常通讯。这是为什么呢?
请高手指教,谢谢! |