The x49c SCI RX FIFO 16 levels deep (10bit register) first word buffered, (same x65 SCI)?? We managed to input 32 characters in single ISR loop. Checking the RX FIFO trigger set 6 words RXISR input loop function calls another FIFO drain function (below) prior to clear ACK SCI group. Seemingly has something to do with pushing RXISR return address on the stack and calling RX input function handler to drain the FIFO. CPU pops the call stack sometime after call far process 32x 8-bit buffered data. The SCI peripheral is bus clocked and RXFIFO will keep processing serial data, additional triggered level interrupts will be ignored until SCI group clear ACK. You can input as many characters as character buffer is set to hold, ePIE flag state signal the CPU to keep processing the interrupt data. #define ARGU_NRX_BUF_SIZE 32 /* Command input buffer */ char CcRxBuff[ARGU_NRX_BUF_SIZE]; /* Load RX data elements */ for(i = 0; i <= 31; i++) { CcRxBuff[i] = (HWREG(SCIB_BASE + SCI_O_RXBUF) & SCI_RXBUF_SAR_M); }
↧