This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

UART FIFO size. Limited by the buffer?

Hello, my group is using an MCB1700 board. The board contains a 16B FIFO buffer size for the uarts. When I send a string across a wifly device to the uart that is 16B or greater we run into issues. Is there a way to combat this? Or should I simply shorten my commands. Here is my uart0 interrupt handler code (part of it). Uart0 is what receives the data from the wifly serial device at a rate of 115200 baud.

NVIC_DisableIRQ(UART0_IRQn); /* disable UART0 Interrupt */

while( (LPC_UART0->LSR & 0x01) ) { command[count] = SER_getChar(0); count++; }

LPC_UART0 ->FCR |= 2; // reset FIFO LPC_UART0 ->FCR &= ~(2);

Is there a way to receive the data from uart0 into command, and keep receiving even after 15 or 16B of data have been transmitted?

  • 1) Is it hard to read the instructions how to post source code, so that line endings are correctly preserved? The description is just above the message input box.

    2) Do you think your source code looks properly indented, when you didn't tag it as code?

    3) Why this?

    LPC_UART0 ->FCR |= 2; // reset FIFO LPC_UART0 ->FCR &= ~(2);
    

    Rset FIFO is not a correct comment. And why do you want to reset the FIFO? Isn't a FIFO reset a very good way of losing characters?

    By the way - why disable the UART interrupt?