#include “key.h”
#include “stm32f10x.h”
#include “sys.h”
#include “delay.h”
void Key_Init(void)
{
GPIO_InitTypeDef GPIO_Initjs;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE|RCC_APB2Periph_GPIOE,ENABLE);
GPIO_Initjs.GPIO_Mode=GPIO_Mode_IPU;
GPIO_Initjs.GPIO_Pin=GPIO_Pin_4|GPIO_Pin_3|GPIO_Pin_2;
GPIO_Init(GPIOE,&GPIO_Initjs);
GPIO_Initjs.GPIO_Mode=GPIO_Mode_IPD;
GPIO_Initjs.GPIO_Pin=GPIO_Pin_0;
GPIO_Init(GPIOA,&GPIO_Initjs);
}
u8 KEY_S(u8 mode)
{
static u8 key_up=1;
if(mode)key_up=1;
if(key_up&&(Key00||Key10||Key20||Key31))
{
delay_ms(10);
key_up=0;
if(Key00)return Key0_pres;
else if(Key10)return Key1_pres;
else if(Key20)return Key2_pres;
else if(Key31)return Key3_pres;
}else if(Key01&&Key11&&Key21&&Key30)key_up=1;
return 0;
}