I'm working on the operating system for a commercial sonar.
This testing phase is using a TM4C1294XL LaunchPad as a platform.
I'm using the UART3_BASE for the serial port at 4800 baud to receive instructions from the host operating system.
The port interrupt is set to receive interrupt and the receive timeout interrupt:
UARTIntEnable( UART3_BASE, UART_INT_RX | UART_INT_RT);
During the command receive phase the system captures ~40 bytes of command information then jumps into a receive phase. During the receive cycle the system will receive packets of 5 bytes of stabilization information. Both sentences use 0x9F as a termination character.
I was having issues with the system losing synchronization at a few ranges.
Through some bits of analysis I found the command section was jumping out of the gathering loop prior to receiving the complete message. My thought was the serial port was holding the end of a stabilization message when it entered the command.
I disabled the FIFO then found by disabling the UART_INT_RX when entering the stablization phase then enabling it as I left the routine the system ran great.
This seems fine but I want to know why this works. The documentation is a little sparse. And what size is the FIFO by default?
Thank you everyone for any information,
Byron