LPC1768串口问题
void UART0_Init (void){
uint16_t usFdiv;
LPC_PINCON->PINSEL0 |= (1 << 4); /* P0.2 选择为 TXD0 */
LPC_PINCON->PINSEL0 |= (1 << 6); /* Pin P0.3 选择为 RXD0 */
LPC_UART0->LCR = 0x83; /* 允许设置波特率*/
usFdiv = (FPCLK / 16) / UART0_BPS; /* 设置波特率 */
LPC_UART0->DLM = usFdiv / 256;
LPC_UART0->DLL = usFdiv % 256;
LPC_UART0->LCR = 0x03; /* 锁定波特率 */
LPC_UART0->FCR = 0x06;
}
这里usFdiv = (FPCLK / 16) / UART0_BPS; /* 设置波特率 */ 怎么还有设置波特率,不是已经设置了串口0波特率11520了。
LPC_UART0->DLM = usFdiv / 256;
LPC_UART0->DLL = usFdiv % 256;
这两步干嘛。疑惑中。新手提问求高手帮忙。从零开始学习。 波特率只是定义,要达到这个波特率要对相关的寄存器进行配置,建议看看LPC1768的用户手册。 这是根据用户定义的波特率,然后换算成寄存器的值,在丢到寄存器中,这样就不用用户自己去算了!
页:
[1]