关于STM8S库里面的这段UART通信的波特率设置代码,看不懂,请高手指教下,代码如下 CLK_GetClockFreq() 系统时钟 BaudRate 设置的波特率 /* Set the UART1 BaudRates in BRR1 and BRR2 registers according to UART1_BaudRate value */ BaudRate_Mantissa = ((uint32_t)CLK_GetClockFreq() / (BaudRate << 4)); BaudRate_Mantissa100 = (((uint32_t)CLK_GetClockFreq() * 100) / (BaudRate << 4)); /* Set the fraction of UART1DIV */ UART1->BRR2 |= (uint8_t)((uint8_t)(((BaudRate_Mantissa100 - (BaudRate_Mantissa * 100)) << 4) / 100) & (uint8_t)0x0F); /* Set the MSB mantissa of UART1DIV */ UART1->BRR2 |= (uint8_t)((BaudRate_Mantissa >> 4) & (uint8_t)0xF0); /* Set the LSB mantissa of UART1DIV */ UART1->BRR1 |= (uint8_t)BaudRate_Mantissa; |
测试标签123
IAR FOR ARM和IAR FOR STM8无法共存,
STM8L052,液晶内部电源怎么用?
STM8S103飞线外接芯片,I2C不能得到slaveAddress应答,通讯失败。
STM8S105C6T6 UART2串口,能接收数据,不能发送数据
STM8S105K4 串口2 无奇偶校验,也能接收 偶校验的 数据
在STM8S的IAP使用中断和APP使用中断问题
STM8L151 SMBUS设计
STM8S103F复位异常
STM8L的LCD调试时不亮
谢谢,数据手册里我已经看明白了,我就是纯粹想了解下 这个算法!
这个就跟芯片内部的连接走线有关系了。
评分
查看全部评分
评分
查看全部评分
根据数据手册:BRR2 写入第4位:0 与第1位:2
根据数据手册:BRR1 写入第3位:6 与第2位:8
用寄存器表示就是:BRR2=0x02;BRR1 = 0x68;
评分
查看全部评分