找回密码
 立即注册

QQ登录

只需一步,快速开始

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

请教一下,在这个区分长短按的单片机状态机程序中,如何加入双击或者三击,求教各位大佬

[复制链接]
跳转到指定楼层
楼主
ID:1152740 发表于 2025-6-6 16:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. switch(key_machine)
  2.         {
  3.                 case KEY_IDLE:
  4.                         if(P32 == 0)
  5.                         {
  6.                                 key_cnt = 0;
  7.                                 key_machine = KEY_PRESSED;
  8.                         }
  9.                         break;
  10.                 case KEY_PRESSED:
  11.                   key_cnt++;
  12.                   if(P32 == 1)
  13.                         {
  14.                                 if(key_cnt > 60000)
  15.                                 {
  16.                                         key_machine = KEY_ERROR;
  17.                                 }
  18.                                 else
  19.                                 {
  20.                                        
  21.                                         key_machine = KEY_RELEASED;
  22.                                 }
  23.                         }
  24.                         break;
  25.                 case KEY_RELEASED:
  26.                         if(key_cnt > 10 && key_cnt <= 1000)
  27.                         {
  28.                                 KeyNum = 1;
  29.                         }
  30.                         else if(key_cnt >= 3000)
  31.                         {
  32.                                 KeyNum = 11;
  33.                         }
  34.                         else
  35.                         {
  36.                                 KeyNum = 0;
  37.                         }
  38.                         key_machine = KEY_IDLE;
  39.                         break;
  40.                 case KEY_ERROR:
  41.                         key_cnt = 0;
  42.                         key_machine = KEY_IDLE;
  43.                   break;
  44.                         
  45.         }
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1152740 发表于 2025-6-6 16:46 | 只看该作者
如果做一个区间计数电平变化的话会不会使短按出现延迟的情况
回复

使用道具 举报

板凳
ID:1152740 发表于 2025-6-9 08:34 | 只看该作者
已解决问题
回复

使用道具 举报

地板
ID:1153575 发表于 2025-6-11 15:48 | 只看该作者

你好 ,想问问你是怎么解决的吗?想学习
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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