qiuxin3945 发表于 2013-4-9 19:36:57

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;

这两步干嘛。疑惑中。新手提问求高手帮忙。从零开始学习。

ytqiqiang 发表于 2013-4-9 22:47:14

波特率只是定义,要达到这个波特率要对相关的寄存器进行配置,建议看看LPC1768的用户手册。

flyforyou85 发表于 2013-4-9 23:04:10

这是根据用户定义的波特率,然后换算成寄存器的值,在丢到寄存器中,这样就不用用户自己去算了!
页: [1]
查看完整版本: LPC1768串口问题