This thread is a bit old, but I was about to ask the exact same question (albeit not using the FreeRTOS).
I'm guessing that the Active template registers may not have the UDB bit set. However I'm stuck with that problem so it's a blind guess.
I had a similar issue on a PSoC4 a few days ago. The reason was that I sent the UART to _Sleep(), which issues a _Stop() before the transmission was completed. There are different signals on PSoC5 indicating the process of sending bytes:
-The FIFO must be empty and when a transmition has been in progress, it must be completed
In the end, I found out that the UART was functioning, but that it somehow triggered a weird behaviour on my acquisition program (maybe a burst of zeros?).
Then again, I wasn't using any flow control mechanism so I should've expected anything to happen.
Maybe if I added some delay, it wouldn't do that?
Just adding delay does not demonstrate the source of the actual problem,
leaves one open to a non repeatable design. Further testing would be advisable
to make sure, if delay works, why it works.
Yeah, I had better do a proper debug.
But I didn't have time (and guts) to develop the solution further.
Nevertheless, I found out somewhere (I think it was in one of these forums =) ) that it is recommended to disable the output pin dedicated to communication when returning from LP modes as behaviours are not predictable. To avoid stray bytes (like what I had) and whatnot.