您的位置 首页 UI设计入门

arduino快速入门系列之按键特辑二


关于arduino快速入门系列之按键特辑二最佳答案


arduino快速入门系列之按键特辑二


1.#include #define KEY 12uint16_t key_cnt;boolean key_flag;#define TIME_20MS 2#define TIME_200MS 20#define TIME_1S 100#define TIME_3S 300#define TIME_5S 500#define TIME_10S 1000 #define TIME_20S 2000void TimerCBK(void) { key_cnt++;}void setup(void){ pinMode(KEY, INPUT); key_cnt = 0; key_flag = false; MsTimer2::set(10, TimerCBK); 10ms调用一次TimerCBK函数 MsTimer2::start();}void loop(void) { if (digitalRead(KEY) == LOW) 按键按下 { key_flag = true; } else if (key_flag == true) 按键被放开,但按键事件还未被处理 { if (key_cnt < TIME_20MS) { 按键按下时间太短,不做处理 } else if (key_cnt <= TIME_200MS) { 短按 do something here. } else if (key_cnt <= TIME_1S) { 长按1 do something here. } else if (key_cnt = TIME_20S) { 按键坏了? error } key_flag = false; } else 按键被放开,且按键触发的事件也已经被处理 { key_cnt = 0; 计时清零。 }}代码给你了,求采纳。


关于arduino快速入门系列之按键特辑二相关答案



了解更多arduino快速入门系列之按键特辑二类似问题


ui设计培训班入门
ui入门必读100本书
北京ui设计培训ui小白如何入门
ui布尔运算入门教程
零基础学ui设计入门书籍推荐
ui设计入门技巧图解
ui教程从入门到精通

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注