key

来源:互联网 发布:魔镜大数据可视化 编辑:程序博客网 时间:2024/05/01 16:19
#include "key.h"
#include "delay.h"


void KEY_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOE,ENABLE);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_2 | GPIO_Pin_3| GPIO_Pin_4;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN;//普通输入模式
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_100MHz;
GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_UP;
GPIO_Init(GPIOE,&GPIO_InitStructure);


GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;
GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_DOWN; //初始化为下拉 低电平
GPIO_Init(GPIOA,&GPIO_InitStructure);

}




//mode :0 不支持连续按,1 支持
//
u8 KEY_Scan(u8 mode)
{
static u8 key_up=1;
if(mode)key_up=1;
if(key_up &&(KEY0==0 || KEY1==0 || KEY2==0 ||WK_UP ==1))
{
delay_ms(10);
key_up=0;
if(KEY0==0)return 1;
else if (KEY1==0)return 2;
else if (KEY2==0)return 3;
else if (WK_UP==1)return 4;
}else if (KEY0==1 && KEY1==1 &&  KEY2==1 && WK_UP ==0)key_up=1;
return 0; //无按键按下
}


/*
第一次mode为0进入 key_up=1,如果有一个按键被按下进入if{},此时key_up=0并返回key值
可以返回到主函数,当按键弹开时key_up才会为1才能进入下一次的if{}所以mode 0不支持连续扫.






*/

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 闸坡开鱼节 闸坡渔港旅游 闸坡旅游攻略 2018海陵岛闸坡两日游攻略 闸坡银波酒店 闸坡阳光水恋酒店 闸坡酒店哪个好 阳江闸坡旅游 闸坡碧海酒店 闸坡大角湾门票 阳江闸坡住宿 闸坡旺角宾馆 阳江闸坡酒店 闸坡民居住宿 闸坡酒店预订 闸坡富海酒店 闸坡粤法酒店 闸坡怡景酒店 阳江闸坡好望角宾馆 闸坡大角湾附近住宿 阳江闸坡附近酒店 闸坡住宿团购 阳江闸坡酒店海景房 闸坡海景酒店 闸坡保利皇冠假日酒店 闸坡住宿攻略 阳江闸坡旅游攻略 闸坡门票多少钱 闸坡旅游路线 闸坡旅游团购 闸坡大角湾沙滩 闸坡大角湾旅游 闸坡风帆度假公寓 闸坡特色美食 闸坡旅游景点大全 闸坡海上乐园门票 闸坡哪家酒店好 闸坡哪里吃海鲜便宜 闸坡度假公寓 闸坡门票多少 阳光闸坡大角湾