在线时间0 小时
UID180739
注册时间2010-4-9
NXP金币0
该用户从未签到
中级会员
 
- 积分
- 262
- 最后登录
- 1970-1-1
|

楼主 |
发表于 2014-5-29 09:23:55
|
显示全部楼层
回复:k10的串口uart0用FIFO接收会错位,uart1却正常?
我附上中断处理函数,依靠检测S1 RDRF,IDLE中断来完成收发。接收时能进入中断,并且在UART1上是正常的。就不知在UART0上就不正常了?
void UART0_RX_TX_IRQHandler(void)
{
/* Check receiver */
if (UART0->S1 & UART_S1_RDRF_MASK)
{
count = UART0->RCFIFO;
for (i = 0; i < count; i++)
{
data_byte = UART0->D;
Put(&Receive_Fifo, data_byte);
}
}
/* Check receiving idle */
if (UART0->S1 & UART_S1_IDLE_MASK)
{
count = UART0->RCFIFO;
if (count == 0)
{
data_byte = UART0->D;
UART0->CFIFO |= UART_CFIFO_RXFLUSH_MASK;
}
else
{
for (i = 0; i < count; i++)
{
data_byte = UART0->D;
Put(&Receive_Fifo, data_byte);
}
}
}
}
|
|