|
我VC6写了个串口指令发送程序,LPC2138 UART接收处理指令,设定定时器计数.
第一次发送成功的,但PC程序发送指令点了多了,LPC2138就没反映了.我是根据NXP上提供的示例程序改的,UART的接收处理都写在main的死循环里,判断UART0Count和UART0Buffer的数据.端口的bauterate都用115200.
DWORD UARTInit( DWORD baudrate )
{
DWORD Fdiv;
PINSEL0 = 0x00050005; /* Enable RxD1 and TxD1, RxD0 and TxD0 */
U0LCR = 0x83; /* 8 bits, no Parity, 1 Stop bit */
Fdiv = ( Fpclk / 16 ) / baudrate ; /*baud rate */
U0DLM = Fdiv / 256;
U0DLL = Fdiv % 256;
U0LCR = 0x03; /* DLAB = 0 */
U0FCR = 0x07; /* Enable and reset TX and RX FIFO. */
if ( install_irq( UART0_INT, (void *)UART0Handler ) == FALSE )
{
return (FALSE);
}
U0IER = IER_RBR | IER_THRE | IER_RLS; /* Enable UART0 interrupt */
return (TRUE);
}
......... |
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|