领先的免费Web技术教程,涵盖HTML到ASP.NET

网站首页 > 知识剖析 正文

STM32配置GPIO输入的步骤(stm32 gpio_write)

nixiaole 2025-03-30 19:36:58 知识剖析 15 ℃

配置STM32F103的GPIO引脚为输入模式的过程与配置为输出模式类似,但需要特别注意的是,选择合适的输入模式(如浮空输入、上拉/下拉输入等)。下面是使用STM32标准外设库进行GPIO输入配置的基本步骤。

步骤 1: 包含必要的头文件

#include "stm32f10x.h"

步骤 2: 使能GPIO端口的时钟

在配置GPIO之前,必须先使能相应GPIO端口的时钟。假设我们要配置GPIOB,则应添加如下代码:

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);

步骤 3: 配置GPIO初始化结构体

接下来,创建并初始化一个GPIO_InitTypeDef类型的结构体变量,用于指定将要配置的GPIO引脚的参数。例如,设置PB12为上拉输入模式:

GPIO_InitTypeDef GPIO_InitStructure;

// 选择要配置的引脚
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;
// 设置引脚的工作模式为带上拉电阻的输入模式
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; // 输入模式,带内部上拉电阻
// 不需要设置输出速度,因为这是输入模式

// 调用GPIO初始化函数完成配置
GPIO_Init(GPIOB, &GPIO_InitStructure);

在这个例子中,我们选择了带有内部上拉电阻的输入模式 (GPIO_Mode_IPU)。你也可以根据实际需求选择其他输入模式,如浮空输入 (GPIO_Mode_IN_FLOATING) 或者下拉输入 (GPIO_Mode_IPD)。

步骤 4: 读取GPIO输入状态

配置完成后,可以通过读取IDR寄存器来获取GPIO引脚的状态。例如,读取PB12的状态:

uint8_t pinState = GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_12); // 读取PB12的电平状态

pinState将会是BitAction类型的一个值,即RESET(低电平)或SET(高电平)。

最近发表
标签列表