This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

UART Serial Garbage Out (potential solution)

I see a lot of posts in which people are having difficulty getting receivers to sync with UART ouput.  I am using 430F5438A.  I never had these problems with 1611 but with 5438, ports on my PC most often get garbage BUT sometimes sync and get good output.

I use Logic Analyzer to look at signals.  All timing is as nearly perfect as the resolution of the LA.  I noticed that for fast output the stop bit is followed immediately by a start bit. (the line does not mark for any time at all).  I changed the settings on the 5438 UART to use 2 stop bits.  I leave the receiver set at one.  The receiver sees the second stop bit as line marking.  Anyway I cannot explain this other than the PC side serial port needs some line marking time to sync properly on next character.  THIS SHOULD NOT BE THE CASE BUT IT WORKS.  It does cost in transmission time (about 10%) but I am tried of fighting this issue.

Would be nice to know if it solves anyone else's problems.

  • Sorry guys.  This seemed to work for some time but the problem started again.  Also this would only work when comm is in one direction.  Sorry for the bad info.  not sure where to go.

  • How stable is your bitclock?

    The 5438 has an FLL, that means, teh DCO, thedefault main clock, is constantly adjusted to fit the REFO frequency. THis means, that the DCO is constantly reprogrammed to achieve a stable average frequency. Average, however, over a larger timespan than a few bits. So if your MSP has an unlucky DCO tolerance, your baudrate may change over time from okay to not okay and back.

    Adding a mark bit will relax the timing, so it a baudrate error will eb corrected between two bytes. If it happens within a byte, the mark bit won't help.

**Attention** This is a public forum