文章目录
前言:
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)