stm32h7 uart i2c GPIO_InitStruct.Pull = GPIO_PULLDOWN;
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2023-08-19 5:25 AM
para aplicar i2c alternate function open-drain GPIO_InitStruct.Pull = GPIO_PULLDOWN o should be GPIO_PULLUP (what diferencetween both) and uart alternate function push-pull should be pull-up or pull-down what diferencetween both?
Solved! Go to Solution.
- Labels:
-
I2C
-
STM32H7 series
-
UART-USART
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2023-08-19 7:32 AM
In general, I2C should be pulled up by an external resistor and the pin should be configured as AF open-drain without a pullup or pulldown. The internal pullup is not strong enough. Configuring it with a pullup doesn't hurt anything but isn't necessary if the external pullup is there.
In general, UART should also have an external pullup as the internal pullup is weak, but using the internal pullup will work with lower data rates. Pins should be configured as AF push-pull.
Neither I2C or UART should use a pulldown.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2023-08-19 7:32 AM
In general, I2C should be pulled up by an external resistor and the pin should be configured as AF open-drain without a pullup or pulldown. The internal pullup is not strong enough. Configuring it with a pullup doesn't hurt anything but isn't necessary if the external pullup is there.
In general, UART should also have an external pullup as the internal pullup is weak, but using the internal pullup will work with lower data rates. Pins should be configured as AF push-pull.
Neither I2C or UART should use a pulldown.
