找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2024|回复: 4
打印 上一主题 下一主题
收起左侧

按键状态机

[复制链接]
跳转到指定楼层
楼主
ID:187509 发表于 2017-9-7 12:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
if(KeyPressTemp2)                                为什么代表按下时间小于1s
else if(++KeyTime > 100)     为什么代表按下时间大于1s
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:231628 发表于 2017-9-7 12:18 | 只看该作者
NIZHSHISZM 是什么户
回复

使用道具 举报

板凳
ID:231633 发表于 2017-9-7 13:09 | 只看该作者
局部一小段代码不足以分析问题。
回复

使用道具 举报

地板
ID:78505 发表于 2017-9-7 15:49 | 只看该作者
如果我猜的不错的话,逻辑上应该是这样的:
回复

使用道具 举报

5#
ID:78505 发表于 2017-9-7 15:54 | 只看该作者
如果我猜的不错的话,逻辑上应该是这样的:
1、当按键被按下时,KeyPressTemp2被置1,进入处理,处理完成后KeyPressTemp2置0;
2、由于短按的事件已被处理,开始执行 else if(++KeyTime > 100)条件下的事件,当时该事件需要
     满足KeyTime > 100的条件,如果整个函数的调用间隔是10ms时,就等于是每隔10ms KeyTime
     数值+1,1s后满足条件,执行事件  
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表