Seemingly our multidimensional C++ array ends up being a serial C array x 2 rather than (I x d) as in char[257][9]. Below FIFO behavior (Early return from 7/8 full interrupt) even though there should be 128, 256, 1024 byte levels to store external RX data prior to a return from RX interrupt call processing. Capture below indicates the multi dimensional array of 256 BYTES is not being filled and UARTCharAvail() thinks there is no more space in the array. Perhaps incorrectly returns from interrupt handler in the middle of incoming data streams to FIFO 16x8 storage area.
A continuous RX data stream broken up by either FIFO interrupt issues and faster/slower baud rates do not correct mid cycle returns random loss of data from occurring. The interrupt should pend again 7/8 full even after being cleared prior to entry but note the several returns to INT caller below. The while loop UARTCharAvail() obviously thinks no more serial data is being sent into the FIFO when in fact it never stopped. Why would the 7/8 interrupt ever inflict handler re-entrance when the while loop should have never ended to being with? Also test disable UART2 interrupt inside INT hander and perhaps the Index pointer is still being corrupted claimed to correct (uartstdio.c) via UART_BUFFER? The UART2 appears to Stall no matter how the FIFO interrupt has been configured.
