key.c
#include "key.h" void Key_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //使能时钟 //B1、B2按键引脚配置 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_8; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //设置成上拉输入 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); //B3、B4按键引脚配置 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_2; GPIO_Init(GPIOB, &GPIO_InitStructure); }
key.h
#ifndef _key_h_ #define _key_h_ #include "sys.h" #define RB1 GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0) #define RB2 GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_8) #define RB3 GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_1) #define RB4 GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_2) uint8_t Key_Scan(void); void Key_Init(void); #endif