cancel
Showing results for 
Search instead for 
Did you mean: 

ST32F302RC USART with parity not working

ra.pamod
Associate III
Posted on March 02, 2017 at 08:49

Hello,

I am working on STM32F302RC. I want to use the USART1 with parity enabled both odd/even which is configurable through command.

I am using

USART1

with

baudrate 115200,

data length8 bit ,  parity none with this configuration it works fine. 

stop bit   1,

When I change the configuration of

USART1

to odd or even parity it doesn't work I get junk character on serial termina  as shown below.

sƒß2ØL<DC3> ›'š­ÚšQM¸·»'¹bé·-Hl?S<RS> <DC2> å¹7™JC1<SUB> œî<SO> ƒÃé4 ]\V<SYN> åßóöX-<ETX> ‚, Ø-Hl<HT> <HT> c<STX> �?<CR>

Š Rn-EEº�£{Zª^<SYN> kênæzVH<FF>

•åÓIâQ7$<DC4> <SI> KUad¨�?ËégC1¨Ên-EEº�£{Zª^<SYN> kênæzVH<FF>

•åÓIâQ7$<DC4> <SI> KUad¨�?ËégC1¨Ên-EEº�£{Zª^<SYN> kênæzVH<FF>

•åÓIâQ7$<DC4> <SI> KUad¨�?ËégC1¨Ü]N<ETX> š�?éô<-Rë�•m ._<SYN> å ÔLJHü

What could be the issue? Kindly suggest.

Thank you.

14 REPLIES 14
Posted on March 02, 2017 at 13:07

... so that we can unambiguously see which one is the startbit?

I agree.

Have a testcode on your stm32, send two test bytes with the parity bit set respectively not set, spaced by at least one frame length idle time.

ra.pamod
Associate III
Posted on March 02, 2017 at 14:08

It worked.

Why are we required to do this work around?

Is this an errata?

Thank you Waclawek.jan & Ava Tar for your support.

Posted on March 02, 2017 at 13:32

Ah, you've been caught by the rather non-conventional 'parity is last data bit' of the STM32 UART implementation...

On the waveform above, you've transmitted 0x40 0x0D 0x0A with 7 data bits and odd parity. Set the terminal to 7O1 and you'll see your transmitted data OK. Please do this just for the fun of it.

Then change the STM32 setting to 9 bits and you'll receive what you intended originally.

JW

ra.pamod
Associate III
Posted on March 02, 2017 at 14:59

Thank you Ava Tar..

Posted on March 02, 2017 at 14:57

Is this an errata?

No, rather a misleading implementation and documentation on ST's side.