请问下,LPC ARM中,接受中断有CTI超时和FIFO触发2种。
假设对方发送了20个字符过来,LPC FIFO触发等级是16.
那么接受到16个字符时候,会触发中断,子时候,在接受中断里处理如下:
while(( U0LSR & 0x01 ) != 0) // 若接收数据队列空,则退出
{
temp = U0RBR ;
....
}
就是说一直读,直到接受FIFO没有数据。也就是在一个中断里连续读20个字符。行不行?
按周立功的方法是先循环读16次推出,然后剩余4个字符再次发生CTI超时中断,再接受剩余字符。 |