arduino / arduino/ArduinoCore-sam
Programming port UART doesn't work at 230400; no rounding in BRGR calculations.
- Dominant language
- HTML
- Stars
- 91
- Forks
- 112
- PR merge metrics
- No merged PRs in 30d
Description
The Baud Rate Generator Divisor calculations in UARTClass::init() do not round, leading to error rates higher than they could be. In particular, the error at 230400bps is both large and in the opposite direction of the 16u2 error, and it fails. Adding rounding allows it to work.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start at UARTClass::init(), where the Baud Rate Generator Divisor (BRGR) is calculated, and inspect the existing UART initialization path. Verify the divisor rounding against the 230400bps case and confirm that the resulting baud-rate error is reduced enough for programming to work.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- embedded-iot
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100