-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cpu/msp430: USCI not working with auxiliary clock #20620
Comments
@Teufelchen1 This is regression that made it into the release. The old USCI driver never used the auxiliary clock (and does not allow more than one UART interface or SPI bus to be used). I don't think it is much of an issue, because: a) its a niche MCU within our community I plan to fix this eventually, but with no urgency or intention of backporting. It might be good to document this issue, though. |
For super low symbol rates the auxiliary clock (ACLK) is used to conserve power. But with only 32,678 Hz clock just prescaling will result in poor bit timing, hence correct modulation control settings to compensate are needed. Since computing this is too expensive, a look-up table (as switch statement) for the four most common symbol rates was used. The datasheet gave the prescaler values ordered by ascending symbol rate, the switch statement was ordered descending. This changes the order to match the datasheets order and matches the correct prescaler setting to the corresponding symbol rate. Fixes RIOT-OS#20620
For super low symbol rates the auxiliary clock (ACLK) is used to conserve power. But with only 32,678 Hz clock just prescaling will result in poor bit timing, hence correct modulation control settings to compensate are needed. Since computing this is too expensive, a look-up table (as switch statement) for the four most common symbol rates was used. The datasheet gave the prescaler values ordered by ascending symbol rate, the switch statement was ordered descending. This changes the order to match the datasheets order and matches the correct prescaler setting to the corresponding symbol rate. Fixes RIOT-OS#20620
Description
There is bug in the USCI driver that is triggered when the USCI is clocked by the auxiliary clock, e.g. by reducing the symbol rate of the UART to 9600 Bd.
Steps to reproduce the issue
Reduce the symbol rate of the UART to 9600 Bd.
Expected results
UART still works
Actual results
Broken stdio output (did not check with a logic analyzer yet)
Versions
master
The text was updated successfully, but these errors were encountered: