2020-12-07 05:19 AM
The printed message is:
▒▒RT ▒▒▒n▒▒ E▒amp▒▒ ▒▒▒a▒g▒▒ ▒h▒ C ▒▒b▒a▒y p▒▒n▒▒ ▒un▒▒▒▒n ▒▒ ▒h▒ ▒▒RT▒
Instead
printf("UART Printf Example: retarget the C library printf function to the UART\n\r");
Solved! Go to Solution.
2020-12-07 05:49 AM
Looks to me like you simply don't have the UART setting matching between sender and receiver. Ie: sending 8bits with no parity, recieving 7 bits with parity.
A classic issue I hit EVERY 6 months is that the STMIDE setting for UART says "word lenght 8 bits (including parity).
Where as my receiving software says something like "data length = 8 bits" and then the parity is extra. ... these kinds of broken chars is what I see as a result.
I'm too lazy to do the hard-work here, so i just keep trying receiver settings until i see clean text : P
2020-12-07 05:42 AM
You'll need to chase down the plumbing, perhaps code in syscalls.c or otherwise implementing _io_putchar() type functionality.
2020-12-07 05:49 AM
Looks to me like you simply don't have the UART setting matching between sender and receiver. Ie: sending 8bits with no parity, recieving 7 bits with parity.
A classic issue I hit EVERY 6 months is that the STMIDE setting for UART says "word lenght 8 bits (including parity).
Where as my receiving software says something like "data length = 8 bits" and then the parity is extra. ... these kinds of broken chars is what I see as a result.
I'm too lazy to do the hard-work here, so i just keep trying receiver settings until i see clean text : P
2020-12-07 05:55 AM
Thanks!!!
The parity was defined ODD in both sides. But, it starts to work without the parity.