while ( Length != 0 )
{
/* THRE status, contain valid data */
while ( !(UART1TxEmpty & 0x01) );
LPC_UART1->THR = *BufferPtr;
UART1TxEmpty = 0; /* not empty in the THR until it shifts out */
BufferPtr++;
Length--;
delay_time(2); //此处的延时必须需要,否则发送数据多于50个的时候会容易发不出去就死机在while语句里面,延时1.8毫秒
}
以上代码是NXPLPC1756的串口的,测试发现发送的时候必须每个字节之间加2毫秒的延时,否则发送字节超过50多个的时候会死在while empty里面那句上,怎么回事啊。。请高手帮忙,多谢了。。
|