马潮按键扫描状态机思想10ms执行一次
来源:互联网 发布:何新 知乎 编辑:程序博客网 时间:2024/05/17 08:26
#define key_input PIND.7 // 按键输入口#define key_state_0 0#define key_state_1 1#define key_state_2 2char read_key(void){ static char key_state = 0; char key_press, key_return = 0; key_press = key_input; // 读按键I/O电平 switch (key_state) { case key_state_0: // 按键初始态 if (!key_press) key_state = key_state_1; // 键被按下,状态转换到键确认态 break; case key_state_1: // 按键确认态 if (!key_press) { key_return = 1; // 按键仍按下,按键确认输出为“1” key_state = key_state_2; // 状态转换到键释放态 } else key_state = key_state_0; // 按键已抬起,转换到按键初始态 break; case key_state_2: if (key_press) key_state = key_state_0; //按键已释放,转换到按键初始态 break; } return key_return;}
0 0
- 马潮按键扫描状态机思想10ms执行一次
- 状态机按键扫描
- 按键扫描与状态机结合
- 基于状态机思想的按键扫描程序支持单按,连续按,长按模式。
- 基于状态机的按键扫描的实现
- 基于状态机的按键扫描的实现
- 基于状态机的新型按键消抖扫描程序
- 多功能按键设计,状态机思想,包含长按短按双击
- 状态机思想
- MFC长按键盘:执行多次、执行一次
- 按键扫描
- 按键扫描
- 按键扫描
- 按键状态机程序
- 状态机按键消抖
- 状态机编程思想
- 状态机思想小结
- 按键的编程 - 状态机1
- Android安卓自定义圆角矩形控件,省去定义drawable里面xml的麻烦,轻松编程
- 彻底理解JAVA动态代理
- 几何画板演示点的运动路径图像的教程
- 怎么签约single_trade_query接口,人工服务
- Activity你应该知道的一切
- 马潮按键扫描状态机思想10ms执行一次
- jQuery增加自定义函数的方法
- Hive中order by,sort by,distribute by,cluster by的区别
- C#泛型(五)
- Redis学习笔记(二)----跳跃表
- VBA操作注册表的三种方法
- Springmvc中的return modelAndView和return "xxxx"的区别
- 学习笔记:spring与hibernate整合(采用aop来管理事务来实现声明式事务)
- 创建React项目工程及JSX相关语法