9600-N-8-2;
UART_Open(UART2, 9600);
/* Set UART line configuration */
UART2->LINE = UART_WORD_LEN_8 | UART_PARITY_NONE | UART_STOP_BIT_2;
UART2->FIFO &= ~UART_FIFO_RFITL_4BYTES;
UART2->FIFO |= UART_FIFO_RFITL_8BYTES;
UART_SetTimeoutCnt(UART2, 100);
UART_EnableInt(UART2, UART_INTEN_RDAIEN_Msk | UART_INTEN_RXTOIEN_Msk);
NVIC_EnableIRQ(UART02_IRQn);
void UART02_IRQHandler(void)
{
uint8_t UART2_u8InChar = 0xFF;
if (UART_GET_INT_FLAG(UART2, UART_INTSTS_RDAINT_Msk))
{
while(!UART_GET_RX_EMPTY(UART2))
UART2_BUF[UART2_cnt++] = UART_READ(UART2);
printf("UART_INTSTS_RDAINT_Msk!\n");//这里能触发;
}
if (UART_GET_INT_FLAG(UART2, UART_INTSTS_RXTOIF_Msk))
{
while(!UART_GET_RX_EMPTY(UART2))
UART2_BUF[UART2_cnt++] = UART_READ(UART2);
UART2_data_true = 1;
printf("UART_INTSTS_RXTOIF_Msk!\n");//这里并不能触发,请问是为何?
}
}
|