[文档下载] 新型按键扫描程序

[复制链接]
3520|23
zhuotuzi 发表于 2016-1-5 23:00 | 显示全部楼层
端口数据为0xfe,ReadData读端口并且取反,很显然,就是 0x01 了。
fz_zsm 发表于 2016-11-3 16:25 | 显示全部楼层
算法精妙,赞!!!
      不过对于IO中断采集按键的处理,一般在中断中采集键值,在主程序中进行按键处理, 若直接这样应用是否会有丢失按键的情况?

另外4楼程序中有个BUG:
   if (Cont & KEY_PLUS)       // 如果“加”按键被按着不放
      {
         cnt_plus++;          // 计时
         if (cnt_plus > 100)  // 20ms*100 = 2S 如果时间到
            {
               Func();        // 你需要的执行的程序
            }
      }
这段后应加一句: else {cnt_plus = 0;}        否则多次按加键累积时长,会触发长按键处理。
玛尼玛尼哄 发表于 2016-11-4 20:38 | 显示全部楼层
通过位操作实现复杂的算法,好牛叉。
zhuotuzi 发表于 2017-2-2 16:40 | 显示全部楼层
这个按键写的别出心裁,受教了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部