GPIO_InitTypeDef 的默认值是多少

what's the defualt value of GPIO_InitTypeDef

我检查了 stm32f4xx_hal_gpio.c 或 .h,但我无法通过 Alternate is 0 defualtly

找到

Alternate默认不为0

结构本身没有默认值。我假设您正在询问代码中显示的 hh 的值。

正如您当前编写的代码,hh 是一个堆栈变量,因此未初始化。

要将 hh 初始化为 all-zeros,您应该这样写:

GPIO_InitTypeDef hh = {0};

在 real-world 代码中,您应该手动设置结构的所有必要字段。

有关结构初始化的更多信息,请参见this page

Armandas 已经解释了如果您不分配给它的值是什么。

可以分配给成员 Alternate 的合法值列在文件 stm32f4xx_hal_gpio_ex.h 中的 GPIO_Alternate_function_selection 下,例如 GPIO_AF9_TIM12.

如果您不使用备用功能模式,请保留该值未定义或将其设置为零。