|
- #include "key.h"
- #include "delay.h"
- //按鍵初始化函數
- void KEY_Init(void)
- {
- RCC->APB2ENR|=1<<4; //使能PORTC時鐘
- GPIOC->CRH&=0XFFFFF000; //PC8、9設置成輸入
- GPIOC->CRH|=0X00000088; //PC8上拉,PC8默認下拉
- GPIOC->ODR|=(1<<8)|(1<<9);
-
- }
- //按鍵處理函數
- //返回按鍵值
- //mode:0,不支持連續按;1,支持連續按;
- //返回值:
- //0,沒有任何按鍵按下
- //1,KEY0按下
- //2,KEY1按下
- //3,KEY2按下
- //注意此函數有響應優先級,KEY0>KEY1>KEY2
- u8 KEY_Scan(u8 mode)
- {
- static u8 key_up=1;//按鍵按松開標志
- if(mode)key_up=1; //支持連按
- if(key_up&&(KEY0==0||KEY1==0))
- {
- //delay_ms(10);//去抖動
- Delay(20);
- key_up=0;
- if(KEY0==0)return 1;
- else if(KEY1==0)return 2;
- //else if(KEY2==0)return 3;
- }else if(KEY0==1&&KEY1==1)key_up=1;
- return 0;// 無按鍵按下
- }
復制代碼
|
-
51hei.png
(10.86 KB, 下載次數: 89)
下載附件
2020-6-22 15:16 上傳
-
-
聲光報警器.7z
2020-6-22 16:24 上傳
點擊文件名下載附件
200.34 KB, 下載次數: 8
|