Content originally posted in LPCWare by justmakeit on Fri Mar 07 01:17:11 MST 2014
Your right,
I used UART_Receive(UARTx, &tmpc, 1, NONE_BLOCKING); to receive multiple bytes with one interrupt. But that is none sense ;-) . The interrupt should stay active while there is data in the receive buffer.
the ringbuffer forget the new data when its full. And the buffer is 64 bytes long
I solved a part of the mystery. The reason that i'm only receiving 16 byte is that the debugger slowed down my program. On this moment the whole packet shows up but after sending it a couple times it stops activating the interrupt.
register status when interrupt stop working:
its not pending in the uart1 register
U1IIR->IP = 1
The FIFO disables and the TX reset activates (wont clear it self ).
U1FCR->FCRFE = 0
U1FCR->TFR = 1