How does RX of uart work on nrf52832?

I (think I) have successfully located the code responsible for handling the data received BUT! The code segment:

case NRF_DRV_UART_EVT_RX_DONE:
            // Write received byte to FIFO.
            err_code = app_fifo_put(&m_rx_fifo, p_event->data.rxtx.p_data[0]);

in app_uart_fifo.c

seem to only receive a paltry 1 byte? Or I got it wrong as it actually passes a pointer address?

Anyway, this coupled with the whole "FIFO" mechanism/component I'm quite confused as to how this works.

I thought a pointer to a buffer would be passed and viola, you are all set, read it until you reach the end

Can someone clue me in???

Related