Hi,
I am using TM4C1230H6PM. I convert one of the UART port to interrupt base for receive data package which able to speed up the port process and reduce significantly for the package lost (I am using TI-RTOS method).
Now I intended to change all port to interrupt base for receive data package to ensure robust communication to all the slave devices. But the 2nd and 3rd UART port will always fail to get the 2nd byte.
1st UART port with 9600bps at UART 1 (working good and very stable). This port connect to our Host system.
2nd UART port with 57600bps at UART 6 (only able to get the first byte for every data package received). This port connect to our slave 1 system.
3rd UART port with 57600bps at UART 2 (only able to get the first byte for every data package received) this port connect to our slave 2 system.
I already try FIFO But my data need to be 31 bytes… fifo only with 16 bytes and too fast…
Please provide how to activate the FIFO correctly and DMA correcty? Sample code needed because the document not really clear enough.
FIFO is working for data up to 16 bytes. Unable to receive data longer than 16 bytes. Either I set with FIFO enable or not it still the same (only 16 bytes) .
In ISR, I clear the UARTIntClear after get the UARTInStatus valid get up to 16 bytes by using UARTCharGetNonBlocking. After clear interrupt, system should be able to have next interrupt for the next 16 bytes coming in.
On Freescale, as long as you do UARTIntClear, the UART will immediately activate and receive the UART data and never miss any information for 100 over incoming bytes at the speed of 115200bps.
Need advise urgently on this issue. Please help, Thank you very much.
Thanks and best regards,
KH Lee
