stm32mini按键输入——HAL库


​​前言:
STM32按键输入——GPIO做输入实验主要是根据正点原子视频及例程书写,主要作为个人学习笔记使用,如有错误,望不吝指出。主要分为两种按键逻辑:一种是持续按下只响应一次,一种是持续按下持续响应。


根据原理图对应调用引脚即可

具体步骤

使能按键对应IO口时钟,调用函数
初始化IO模式
扫描IO口电平

这里GPIO输入操作有三种:
1.调用库函数
uint8_t GPIO_ReadInputDataBit (GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin);
2.操作寄存器
GPIOx_IDR:端口输入寄存器
3.位带操作
PEin(n) 读取GPIOE.n口电平

IO口初始化和时钟使能

#include "stm32f10x.h"
#include "key.h"
#include "sys.h" 
#include "delay.h"
void KEY_Init(void) 
{
    
 	GPIO_InitTypeDef GPIO_InitStructure;//调用结构体重命名
 
 	_HAL_RCC_GPIOA_CLK_ENABLE();           //开启GPIOA时钟
    __HAL_RCC_GPIOC_CLK_ENABLE();           //开启GPIOC时钟

	GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_0;       //PA0
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;   //下拉输入
 	HAL_GPIO_Init(GPIOA,&GPIO_InitStructure)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值