学前班
最后登录1970-1-1
在线时间 小时
注册时间2015-11-27
|

楼主 |
发表于 2015-11-27 14:31:56
|
显示全部楼层
#include "key.h"
static void KEY_Delay(u32 nKEY)
{
for(;nKEY !=0;nKEY--);
}
void LED_KEY1_Config(void)
{
/*¶¨òåÃûÎaGPIO_InitStructμĽá11ìå*/
GPIO_InitTypeDef GPIO_InitStruct;
/*ê1ÄüGPIOBoíGPIOCμÄê±Öó*/
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
/*Ñ¡ÔñGPIOBÖDGPIO_PinμÄòy½Å0*/
GPIO_InitStruct.GPIO_Pin=GPIO_Pin_0;
/*Ñ¡ÔñGPIOBÖDGPIO_ModeμÄÄ£ê½íÆíìêä3ö*/
GPIO_InitStruct.GPIO_Mode=GPIO_Mode_IPU;
/*3õê¼»ˉGPIOAμÄ2Îêy*/
GPIO_Init(GPIOA,&GPIO_InitStruct);
}
void LED_KEY2_Config(void)
{
/*¶¨òåÃûÎaGPIO_InitStructμĽá11ìå*/
GPIO_InitTypeDef GPIO_InitStruct;
/*ê1ÄüGPIOBoíGPIOCμÄê±Öó*/
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
/*Ñ¡ÔñGPIOCÖDGPIO_PinμÄòy½Å13*/
GPIO_InitStruct.GPIO_Pin=GPIO_Pin_13;
/*Ñ¡ÔñGPIOBÖDGPIO_ModeμÄÄ£ê½íÆíìêä3ö*/
GPIO_InitStruct.GPIO_Mode=GPIO_Mode_IPU;
/*3õê¼»ˉGPIOCμÄ2Îêy*/
GPIO_Init(GPIOC,&GPIO_InitStruct);
}
void LED_KEY_Config(void)
{
LED_KEY1_Config();
LED_KEY2_Config();
}
u8 KEY1_Scan(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
{
if (GPIO_ReadInputDataBit(GPIOx,GPIO_Pin)==KEY1_ON)
{
KEY_Delay(10000);
if(GPIO_ReadInputDataBit(GPIOx,GPIO_Pin)==KEY1_ON)
{
while(GPIO_ReadInputDataBit(GPIOx,GPIO_Pin)==KEY1_ON);
return KEY1_ON;
}
else
return KEY1_OFF;
}
else
return KEY1_OFF;
}
u8 KEY2_Scan(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
{
if (GPIO_ReadInputDataBit(GPIOx,GPIO_Pin)==KEY2_ON)
{
KEY_Delay(10000);
if(GPIO_ReadInputDataBit(GPIOx,GPIO_Pin)==KEY2_ON)
{
while(GPIO_ReadInputDataBit(GPIOx,GPIO_Pin)==KEY2_ON);
return KEY2_ON;
}
else
return KEY2_OFF;
}
else
return KEY2_OFF;
}
void KEY_Scan(void)
{
u8 KEY1_Scan(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
u8 KEY2_Scan(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
}
|
|