uint32_t u32IntStatus,u32delayno;
u32IntStatus = UART0->ISR;
if(u32IntStatus & DRVUART_RDAINT)
{
/* Get all the input characters */
while(UART0->ISR & UART_ISR_RDA_IS)
{
if(UART0->FSR & UART_FSR_RX_EMPTY_F) /* Check RX empty => failed */
{
return;
}
data = UART0->RBR; /* Get Data from UART RX */
if( (uint32_t)( 1u + UART0_RX.rx ) != (uint32_t)UART0_RX.tx )
{
UART0_RX.Data[ UART0_RX.rx ] = data;
UART0_RX.rx ++;
}
// printf("0x%08X uart0 rx:%d tx:%d\r\n",UART0->ISR, UART0_RX.rx, UART0_RX.tx);
}
这是我的接收,接收数据中断不停地产生,奇怪了
|