异常主要是表现在接收到的是乱码。
/* Receive Data Reach Interrupt : RDR data ready */
if(SC->ISR & (SC_ISR_RDA_IS | SC_ISR_RTMR_IS)) {
while(!(SC->TRSR & SC_TRSR_RX_EMPTY_F)) {
rx_buf0[rx_tail0] = SC->RBR;
SMARTCARD_UartWrite(SC0, &rx_buf0[rx_tail0], 1);
if((rx_tail0 + 1) % BUF_LEN != rx_head0)
rx_tail0 = (rx_tail0 + 1) % BUF_LEN;
}
SC->ISR = SC_ISR_RDA_IS | SC_ISR_RTMR_IS;
}
|