你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
测试标签123
IAR FOR ARM和IAR FOR STM8无法共存,
STM8L052,液晶内部电源怎么用?
STM8S103飞线外接芯片,I2C不能得到slaveAddress应答,通讯失败。
STM8S105C6T6 UART2串口,能接收数据,不能发送数据
STM8S105K4 串口2 无奇偶校验,也能接收 偶校验的 数据
在STM8S的IAP使用中断和APP使用中断问题
STM8L151 SMBUS设计
STM8S103F复位异常
STM8L的LCD调试时不亮
BaudRate_Mantissa = ((uint32_t)CLK_GetClockFreq() / (BaudRate << 4));
这个计算出: BaudRate_Mantissa = 主时钟/(波特率*16) 当于 主时钟/波特率 右移4位
(16M/9600*16)=104=0x68;
BaudRate_Mantissa100 = (((uint32_t)CLK_GetClockFreq() * 100) / (BaudRate << 4));
BaudRate_Mantissa100 = 主时钟*1000/(波特率/16) 当于 主时钟/波特率 扩大1000 右移4位
16M*1000/(9600*16)=104166=0x196E6
UART1->BRR2 |= (uint8_t)((uint8_t)(((BaudRate_Mantissa100 - (BaudRate_Mantissa * 100)) << 4) / 100) & (uint8_t)0x0F);
UART1->BRR2 |=((104166-(104*100))/16)/100) &0x0F =0x3A*0x0f=0x02
也就是第1位
/* Set the MSB mantissa of UART1DIV */
UART1->BRR2 |= (uint8_t)((BaudRate_Mantissa >> 4) & (uint8_t)0xF0);
UART1->BRR2 |=0x68/16 &0xF0 =0;
就是BBR2第4位:
UART1->BRR2=0x02
/* Set the LSB mantissa of UART1DIV */
UART1->BRR1 |= (uint8_t)BaudRate_Mantissa; 得到第3、2位
UART1->BRR1=0x68;
终上所讲算得来的就是
BRR2=0x02;BRR1 = 0x68;