欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
CKSF013C8T6按鍵長按與短按代碼
[打印本頁]
作者:
liqingb
時間:
2021-3-25 12:58
標題:
CKSF013C8T6按鍵長按與短按代碼
#include "key.h"
//************************** IO初始化
void KEY_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //使能PB,PE端口時鐘
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1; //LED0-->PB.5 端口配置
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //上拉輸入或者為下拉輸入具體看io的硬件電路
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度為50MHz
GPIO_Init(GPIOA, &GPIO_InitStructure); //根據設定參數初始化GPIOB.5
GPIO_SetBits(GPIOA,GPIO_Pin_0|GPIO_Pin_1); //PB.5 輸出高
}
//************************** 按鍵短按
u8 KEY_SCAN(u8 mode) //***********mode=1按鍵有效,mode=0按鍵無效
{
u8 key_num;
if(mode==1)
{
if(KEY_1==0)
{
delay_ms(100);//********************按鍵消抖可以減小
if(KEY_1==0)
{
key_num++;
if(key_num==3)
{
key_num=1;
}
}
}
}
else key_num=0;
return key_num;
}
//************************** 按鍵長按
u8 KEY_SCAN_LONG(u8 mode) //***********mode=1按鍵有效,mode=0按鍵無效
{
u16 key_num,led_on;
while((KEY_2==0)&&(mode==1))
{
delay_ms(100);
key_num++;
}
if(key_num>30)
{ key_num=0;
if(led_on==1) led_on=0;
else led_on=1;
}
return led_on;
}
復制代碼
#include "delay.h"
#include "sys.h"
#include "led.h"
#include "key.h"
int main(void)
{
u8 t;
delay_init();
LED_Init();
KEY_Init();
while(1)
{
t=KEY_SCAN_LONG(1);
if(t==1)
{
LED0=1;
}
else
{
LED0=0;
}
}
}
復制代碼
以上代碼下載:
FUN.zip
(4.14 KB, 下載次數: 21)
2021-3-25 12:58 上傳
點擊文件名下載附件
按鍵
下載積分: 黑幣 -5
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1