Discussion created by lpcware Employee on Jun 15, 2016
Content originally posted in LPCWare by jdurand on Sun Oct 27 13:54:11 MST 2013
Years ago I did a lot of testing of serial ports while designing a long range wireless modem and discovered that Windows (don't remember the version at the time, NT, XP?) and a SPARC workstation both had issues where they handled the handshaking in software and would send up to a full FIFO + 1 (17 characters) AFTER receiving a request to halt.

Since moving to ARM processors I've used the auto RTS/CTS on a few products and haven't had a problem with over runs, but now I'm seeing it repeatably on an LPC1113 project.  I've tested against a Windows computer and a Ubuntu Linux machine while monitoring the hardware lines with a 'scope.  On both systems they stop sending between one and many (I didn't count) characters.

Anyone else seen this?

For this product I'm releasing a firmware update that disables the auto on RXD and I'll add a 32 byte software ring buffer and manual handshaking like I've done on processors that don't have FIFOs, this way I have room to capture the additional 17 characters.

I guess on other products I should go back to the ring buffer just to prevent customer problems.