I am using Uart2 to receive lots of data (e.g. 34kBytes) which is just dumped to the port. I would assume that when I enable hardware handshaking with
that I should not loose data when I am sending from a terminal emulator program (I tried Hyperterm and Tera Term) which also has hardware handshaking enabled.
What I have seen is that 70 to 400 bytes are missing when I write 512 bytes and then read 512 bytes to/from flash using adl_flhWrite() and adl_flhRead() after every 512 bytes received.
Most of the tests I ran with port speed 115200, but I have confirmed that data is also lost when using 19200 or 9600 baud. So I guess the system is too busy writing flash and not necessarily too slow.
If I remove the flash access from the code, the number of bytes will be as expected.
How is it possible that flash writing will miss data on the port??? Is there anything I could do except implementing a protocol which sends only small packets and waits for ACKs?