Drift
STM32 UART Garbage Characters Debug
Symptom
The firmware builds and the sensor answers, but the console shows garbage. The scope reads 19200 baud, not 9600. The registers and bit fields are on the Datasheet tab.
Circuit
Pass condition
The timing registers match this board. The console shows TEMP:<degrees>.
Notes
The bench plays the temperature sensor on I2C1. The program reads the sensor once after reset and prints one line. The bench ignores baud and bus timing, so it reads those registers back. Do not change the clock tree.