STM32 按键检测

1 步骤

1 配置GPIO 时钟

2 配置GPIO

3 初始化

3 源码

注意:多个GPIO 分别赋值 避免值被覆盖   

#include "key.h"

void Init_Key(){
    //初始化端口时钟
    GPIO_InitTypeDef  GPIO_InitStruct;
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOC,ENABLE);
  //初始化结构体
    GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IN_FLOATING;
  GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStruct.GPIO_Pin|=GPIO_Pin_0;
    GPIO_Init(GPIOA,&GPIO_InitStruct);

    GPIO_InitStruct.GPIO_Pin=GPIO_Pin_13;
    GPIO_Init(GPIOC,&GPIO_InitStruct);
}

uint8_t KeyScan(GPIO_TypeDef *GPIOx,uint16_t GPIO_Pin){

   if(GPIO_ReadInputDataBit(GPIOx,GPIO_Pin)==KEY_ON)
     {
         while(GPIO_ReadInputDataBit(GPIOx,GPIO_Pin)==KEY_ON);
         return KEY_ON;
     }
     else{
       return KEY_OFF;
     }

}

demo 地址:https://gitee.com/codemaner/stm32_review_demo/tree/master

名称:Fwlib_KEY.rar

转载于:https://my.oschina.net/u/3768017/blog/1817890

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值