实验名称—GPIO输入实验
实验说明
实验目的:掌握GPIO的输入功能。
实验现象:按下USER按键,LD5点亮,松开后熄灭。
STM32CubeMX配置
引脚分配:
PC14引脚:GPIO_Input(输入模式)
PC15引脚:GPIO_Output(输出模式)
PC15引脚配置
GPIO输出电平:高
GPIO模式:推挽输出
GPIO上拉电阻/下拉电阻:不上拉电阻/下拉电阻
输出速度:非常快
PC14引脚配置
GPIO模式:输入模式
GPIO上拉电阻/下拉电阻:不上拉电阻/下拉电阻
时钟源:旁路时钟源
时钟频率:16MHz
填写工程名称,保存路径,IDE为MDK-ARM V5等信息
Keil5程序编写
新建工程,选择STM32L071KBUx芯片
函数分析
宏定义
定义按键变量
读取PC14引脚电平,USER按键之后进行判定,若为零则表示按键按下,点亮LD5指示灯,若为一则表示按键松开,熄灭LD5指示灯。
HAL库函数解析
GPIO输入读取函数 : HAL_GPIO_ReadPin(GPIOx, x_KEY)
入口参数 描述
GPIOx GPIO端口,GPIOA~GPIOC
x_KEY,x按键
GPIO输出写函数 : HAL_GPIO_WritePin(GPIOx, GPIO_Pin, PinState)
入口参数 描述
GPIOx GPIO端口,GPIOA~GPIOC
GPIO_Pin 端口对应的Pin脚数(0-15)
PinState 电平状态,GPIO_PIN_RESET(低电平) 和GPIO_PIN_SET(高电平) 两种状态。