STM32
2024-06-07 17:47:47 0 举报
AI智能生成
STM32笔记
作者其他创作
大纲/内容
HAL_GPIO_
HAL_GPIO_ReadPin
说明 :读取指定GPIO引脚的电平状态
作用:返回指定GPIO引脚当前的逻辑电平状态(高电平或低电平)
方法体: GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
参数:
GPIO_TypeDef *GPIOx
组编号,x取当前引脚编号字母//如PC13--GPIOC
uint16_t GPIO_Pin
GPIO引角号
返回值
电平枚举
GPIO_PIN_RESET
低电平 0
GPIO_PIN_SET
高电平 1
例子:
GPIO_PinState pinState = HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_0);
if (pinState == GPIO_PIN_SET) {
// GPIOA Pin 0 is high
} else {
// GPIOA Pin 0 is low
}
if (pinState == GPIO_PIN_SET) {
// GPIOA Pin 0 is high
} else {
// GPIOA Pin 0 is low
}
HAL_GPIO_WritePin
说明:设置指定GPIO引脚的输出电平
作用:根据指定的电平状态,控制GPIO引脚的输出电平
方法体:void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState);
参数
GPIO_TypeDef *GPIOx
组编号,x取当前引脚编号字母//如PC13--GPIOC
uint16_t GPIO_Pin
GPIO引角号
返回值
无
例子:
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_SET); // 设置 GPIOB Pin 1 输出高电平
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_2, GPIO_PIN_RESET); // 设置 GPIOC Pin 2 输出低电平
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_2, GPIO_PIN_RESET); // 设置 GPIOC Pin 2 输出低电平
HAL_GPIO_TogglePin
说明:翻转指定GPIO引脚的输出状态
作用:将指定GPIO引脚的输出状态从高电平切换到低电平,或从低电平切换到高电平
方法体:
void HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
参数
GPIO_TypeDef *GPIOx
组编号,x取当前引脚编号字母//如PC13--GPIOC
uint16_t GPIO_Pin
GPIO引角号
返回值
无
HAL_GPIO_LockPin
说明:锁定指定GPIO引脚的配置寄存器
作用:锁定指定GPIO引脚的配置,防止在运行时对其进行配置更改
方法体:HAL_StatusTypeDef HAL_GPIO_LockPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
参数
GPIO_TypeDef *GPIOx
组编号,x取当前引脚编号字母//如PC13--GPIOC
返回值
HAL_StatusTypeDef 枚举
HAL_TIMEOUT
HAL_BUSY
HAL_ERROR
HAL_OK
例子:
HAL_GPIO_LockPin(GPIOA, GPIO_PIN_0); // 锁定 GPIOA Pin 0 的配置寄存器
HAL_GPIO_EXTI_IRQHandler
说明:处理外部中断事件的中断服务程序(IRQHandler)
作用:当有GPIO引脚产生外部中断时,调用该函数来处理中断事件
方法体 :void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin);
参数
uint16_t GPIO_Pin
GPIO引角号
例子:
void EXTI0_IRQHandler(void) {
HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_0);
}
HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_0);
}
HAL_GPIO_EXTI_Callback
说明:外部中断事件的回调函数
作用:当有GPIO引脚产生外部中断时,该回调函数会被调用,用户可以在这个函数中编写中断处理代码
参数:
uint16_t GPIO_Pin
GPIO引角号
例子:
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) {
if (GPIO_Pin == GPIO_PIN_0) {
// 处理 GPIO Pin 0 的外部中断事件
}
}
if (GPIO_Pin == GPIO_PIN_0) {
// 处理 GPIO Pin 0 的外部中断事件
}
}
0 条评论
下一页