给个三连,谢谢
1.GPIO_InitTypeDef(GPIO配置结构体)
在调用 HAL_GPIO_Init 函数时需要传入本结构体,根据结构体内成员参数配置IO口功能
GPIO_InitTypeDef //GPIO配置结构体
2.包含成员(4个)
2.1 Pin(配置哪个引脚)
//可选值
GPIO_PIN_0 ~ GPIO_PIN_15 //配置编号 0 ~ 15 的引脚(可多选,使用 | 运算符)
GPIO_PIN_All //配置整组引脚
注意事项:
-
GPIO_Pin_0 //标准库 in 为小写
-
GPIO_PIN_0 //HAL库 IN 为小写
2.2 Mode(工作模式)
2.2.1 关联寄存器
GPIOx_CRH and GPIOx_CRL 寄存器位
2.2.2 可选值
//可选值
GPIO_MODE_INPUT //输入模式
GPIO_MODE_OUTPUT_PP //通用推免输出模式
GPIO_MODE_OUTPUT_OD //通用开漏输出模式
GPIO_MODE_AF_PP //复用功能推挽输出模式
GPIO_MODE_AF_OD //复用功能开漏输出模式
GPIO_MODE_AF_INPUT //复用输入模式 等同于GPIO_MODE_INPUT
GPIO_MODE_ANALOG //模拟输入模式
GPIO_MODE_IT_RISING //外部中断模式 上升沿触发模式
GPIO_MODE_IT_FALLING //外部中断模式 下降沿触发模式
GPIO_MODE_IT_RISING_FALLING //外部中断模式 上下沿触发模式
GPIO_MODE_EVT_RISING //外部事件模式 上升沿触发模式
GPIO_MODE_EVT_FALLING //外部事件模式 下降沿触发模式
GPIO_MODE_EVT_RISING_FALLING //外部事件模式 上下沿触发模式
2.2.3 注意事项
复位后IO默认状态:输入浮空(无上下拉电阻)
2.3 Pull(内部上下拉电阻模式)
2.3.1 关联寄存器
GPIOx_CRH and GPIOx_CRL 寄存器位
2.3.2 可选值
//可选值
GPIO_NOPULL //浮空,无上下拉电阻
GPIO_PULLUP //使能上拉电阻
GPIO_PULLDOWN //使能下拉电阻
2.3.3 注意事项
仅输入模式时有效
2.4Speed(输出模式,最大速度)
2.4.1 关联寄存器
GPIOx_CRH and GPIOx_CRL 寄存器位
2.4.2 可选值
//可选值
GPIO_SPEED_FREQ_LOW //低速 最高2MHz
GPIO_SPEED_FREQ_MEDIUM //中速 最高10MHz
GPIO_SPEED_FREQ_HIGH //高速 最高50MHz
2.4.3 注意事项
仅输出模式时有效
结束语
以上就是对STM32-HAL库-GPIO的 结构体 + 成员选项 的一个总结