HAL_GPIO_Init() in modernem C++ verwenden (STM32)
English
Deutsch
In modernem C++ können Sie Structs wie GPIO_InitTypeDef direkt initialisieren, was den Code wesentlich übersichtlicher und fehlerresistenter macht. Das folgende Beispiel konfiguriert PA8 eines STM32 im Alternativfunktions-Modus 1 (TIM1-Ausgang).
gpio_init_struct.cpp
GPIO_InitTypeDef pinInit = {
.Pin = GPIO_PIN_8,
.Mode = GPIO_MODE_AF_PP,
.Pull = GPIO_NOPULL,
.Speed = GPIO_SPEED_FREQ_VERY_HIGH,
.Alternate = GPIO_AF1_TIM1
};
HAL_GPIO_Init(GPIOA, &pinInit);Im Gegensatz zur alten, wesentlich umständlicheren Methode:
gpio_init_verbose.cpp
GPIO_InitTypeDef pinInit;
pinInit.Pin = GPIO_PIN_8;
pinInit.Mode = GPIO_MODE_AF_PP;
pinInit.Pull = GPIO_NOPULL;
pinInit.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
pinInit.Alternate = GPIO_AF1_TIM1;
HAL_GPIO_Init(GPIOA, &pinInit);Check out similar posts by category:
C/C++, Electronics, STM32
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow