STM8L串口初始化,必须先写BRR2吗?看到好多例程里这么写,为什么?如何先写BRR1会怎么样? void USART1_Init (void) { uint16_t buad; USART1_CR2 = 0x00; //禁止UART发送和接收 USART1_CR1 = 0x00; //b5=0允许UART,b2=0,禁止校验。8位数据位,无校验 USART1_CR3 = 0x00; //b5,b4=00,1个停止位 //设置波特率,注意:(1) 必须先写BRR2(2) BRR1存放的是分频系数的第11位到第4位,(3) BRR2存放的是分频系数的第15位到第12位,和第3位到第0位 //4000000/9600=417=0x01A1 0x1A,0x01; buad = (uint16_t)(FSYS / USART1_BUAD); USART1_BRR2 = (uint8_t)(((buad >> 8) & 0xF0) | (buad & 0x0F)); USART1_BRR1 = (uint8_t)(buad >> 4); //USART1_BRR2 = 0x01; //USART1_BRR1 = 0x1A; USART1_CR2 = 0x2C; //b2=1,允许接收。b3=1,允许发送。b5=1,允许产生接收中断 。 } |
测试标签123
IAR FOR ARM和IAR FOR STM8无法共存,
STM8L052,液晶内部电源怎么用?
STM8S103飞线外接芯片,I2C不能得到slaveAddress应答,通讯失败。
STM8S105C6T6 UART2串口,能接收数据,不能发送数据
STM8S105K4 串口2 无奇偶校验,也能接收 偶校验的 数据
在STM8S的IAP使用中断和APP使用中断问题
STM8L151 SMBUS设计
STM8S103F复位异常
STM8L的LCD调试时不亮