This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

UART FIFO FILL

Hello, 

i am facing issue in uart data capturing in nrf52832..

i am capturing the received uart data as shown below , but not possible to capture more uart data as if(FIFP_LENGTH(m_rx_fifo) <= m_rx_fifo.buf_size_mask) condition is going to false.

to fix this in, else condition i made m_rx_fifo.ead_pos = 0, and buf size_mask = 0x1ff. 

it looks the FIFO Buffer is overflowing. what i made the changes is correct or not?

// Start new RX if size in buffer.
if (FIFO_LENGTH(m_rx_fifo) <= m_rx_fifo.buf_size_mask)
{}

else{

m_rx_fifo.buf_size_mask = 0x01ff;

m_rx_fifo.read_pos=0x00;

m_rx_fifo.write_pos = 0x00;

}

Related