I have a custom DSP board which has a UART port to send data to PC. Strange thing is when I stop the UART port on DSP, PC still continues to receive data. Even stranger, I unplugged the USB cable from PC so there is no connection between the board and PC, still terminal is receiving data and it doesn't stop for 10 minutes! Do you know what's going on? I hooked up Oscope to DSP UART TX port, it was in-active.
-
\$\begingroup\$ How fast are you sending, how fast is the PC reading it and displaying it? \$\endgroup\$– Trevor_GMay 18, 2017 at 17:41
-
\$\begingroup\$ 115200 is the baudrate on both sides. \$\endgroup\$– doubleEMay 18, 2017 at 17:41
-
5\$\begingroup\$ You're probably displaying your data slower than it is arriving, and it's getting buffered somewhere. \$\endgroup\$– brhansMay 18, 2017 at 17:42
-
3\$\begingroup\$ terminal program probably can't keep up with 10K characters per sec and data will be buffered, \$\endgroup\$– Trevor_GMay 18, 2017 at 17:43
-
1\$\begingroup\$ Put your interrupt bit into a counter. Run your test and compare to counter total. If they are the same, then the problem is in how you believe data is received without a connection. Odds are data is stored in a storage buffer and you have a slow processing to screen on a byte by byte basis. \$\endgroup\$– StainlessSteelRatMay 19, 2017 at 17:51
1 Answer
It sounds as if the data from the UART is being buffered and your program is not retrieving data fast enough from the buffer to keep it level. At 115k baud, 10 minutes of buffered data would indicate a buffer of ~ 700k bytes.