Using NET-OS 4.0 and NET-50 Sometimes (rather often) when sending data with printf() or fprintf(stdout,) single characters or a handfull of characters out of big data simply do not appear at the serial port. There is no empty gap observable on an oscilloscope or protocol analyzer. My best guess is that on average one character out of a million is missing. Any ideas? Martin
We have the same problem. It only appears when the system is under headvy load with losts of serial traffic. At v4 there appears to be no fix.
Well, I have been their and I can tell you how I fixed it. I wrote thread safe wrapper functions for all of the printf family. The printf family of functions is not usually thread safe. In my case I was already using a logging thread to centralize of the the communication to the serial port, but was getting dropped chars thanks to sprintf. This change not only made my logging 100% clean, but also made my app much more stable.