UARTs GPIO speed can be low?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2019-11-21 10:17 AM
Noticed that new Cube versions and CubeIDE, generate initialization code for UARTs TX and RX pins with GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW
Previous Cube versions (at least 4.x) generate instead GPIO_SPEED_FREQ_VERY_HIGH.
Was this change intentional?
GPIO_SPEED_FREQ_LOW seems to work on H7 at least at 115200. But can it make trouble at higher speeds?
-- pa
Solved! Go to Solution.
- Labels:
-
STM32CubeMX
-
STM32H7 Series
-
UART-USART
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2019-11-21 12:07 PM
The datasheet has a table named "I/O AC characteristics" or similar, where you can find maximum frequencies for speed modes at different bus capacitances and supply voltages. I've always used only low speed mode for USART on F1, F7, L4 even connecting boards on table with wires. At least up to 921600 baudrate haven't had any problems. :)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2019-11-21 11:58 AM
The ultimate answer is of course in the datasheet. The generated code may be a hint, but it's your responsibility at the end of the day.
Generally, you should strive for the slowest edges possible, for all imaginable reasons.
UART generally is pretty insensitive to slew rates, especially if they are up/down symmetrical. And, normally, it's slow.
JW
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2019-11-21 12:07 PM
The datasheet has a table named "I/O AC characteristics" or similar, where you can find maximum frequencies for speed modes at different bus capacitances and supply voltages. I've always used only low speed mode for USART on F1, F7, L4 even connecting boards on table with wires. At least up to 921600 baudrate haven't had any problems. :)
