hal库读取gpio输入电平
时间: 2025-03-04 10:19:35 浏览: 64
### 使用 STM32 HAL 库读取 GPIO 输入电平
为了实现这一目标,可以调用 `HAL_GPIO_ReadPin` 函数来获取指定引脚的状态。此函数接收两个参数:一个是代表GPIO端口的指针 (`GPIO_TypeDef *`) 和另一个表示具体引脚编号的整数 (`uint16_t`)。
下面是一个简单的例子展示如何利用该方法:
```c
#include "stm32f4xx_hal.h"
// 假定我们正在操作的是 PA0 (Port A Pin 0)
int main(void){
// 初始化系统时钟和其他必要的硬件资源...
__HAL_RCC_GPIOA_CLK_ENABLE(); // 启用 GPIOA 的时钟
// 配置PA0作为输入模式
GPIO_InitTypeDef GPIO_InitStruct = {0};
GPIO_InitStruct.Pin = GPIO_PIN_0;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_NOPULL; // 不使用内部上下拉电阻
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
while(1){
if(HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_0)){ // 如果返回值不为零,则说明检测到了高电平
// 执行当检测到高电平时要做的动作...
}else{
// 当检测到低电平时执行的动作...
}
// 添加适当延时或其他处理逻辑...
}
}
```
上述代码片段展示了如何通过配置特定引脚为输入模式并周期性地检查其状态来进行基本的输入监测[^1]。
阅读全文
相关推荐




















