久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2274|回復: 23
收起左側

這是一個單片機紅外解碼的程序,但是長按會觸發一次短按命令,怎么改成長按不觸發短按啊

  [復制鏈接]
ID:1094127 發表于 2023-11-8 20:26 | 顯示全部樓層 |閱讀模式
本帖最后由 RDFGRSG 于 2023-11-10 11:41 編輯

#include <REGX52.H>
#include "ir2.h"




回復

使用道具 舉報

ID:1094127 發表于 2023-11-8 23:04 | 顯示全部樓層
有沒有大佬指點一下
回復

使用道具 舉報

ID:584814 發表于 2023-11-9 08:49 | 顯示全部樓層
一般來說,這種情況是不松手測長按和短接造成的,長按中包含短按。
通常,改成松手后察看本次按鍵按下時長判斷是長按還是短按就可以。
回復

使用道具 舉報

ID:1094127 發表于 2023-11-9 09:16 | 顯示全部樓層
man1234567 發表于 2023-11-9 08:49
一般來說,這種情況是不松手測長按和短接造成的,長按中包含短按。
通常,改成松手后察看本次按鍵按下時長 ...

怎么改啊
回復

使用道具 舉報

ID:1090634 發表于 2023-11-9 15:44 | 顯示全部樓層
加個接收時間長短判斷,接收時間大于2秒的,可視為長按,否則為短按
回復

使用道具 舉報

ID:1094127 發表于 2023-11-9 16:13 | 顯示全部樓層
卡姿蘭大眼睛 發表于 2023-11-9 15:44
加個接收時間長短判斷,接收時間大于2秒的,可視為長按,否則為短按

程序里怎么改呢?
回復

使用道具 舉報

ID:161164 發表于 2023-11-9 16:17 | 顯示全部樓層
RDFGRSG 發表于 2023-11-9 16:13
程序里怎么改呢?

代碼不完整
回復

使用道具 舉報

ID:123289 發表于 2023-11-9 16:44 | 顯示全部樓層
即然【長按會觸發一次短按命令】哪么只要有長按,就去除一次短按。
如:
產生方,長按后N秒內的首個短按不放出。
使用方,長按后N秒內的首個短按不認可。
有其一即可。
回復

使用道具 舉報

ID:1094127 發表于 2023-11-9 19:06 | 顯示全部樓層

那部分不完整
回復

使用道具 舉報

ID:1094127 發表于 2023-11-9 19:07 | 顯示全部樓層
別說理論,上修改后代碼
回復

使用道具 舉報

ID:1094127 發表于 2023-11-9 19:15 | 顯示全部樓層
理論我也能想到,怎么實現呢?
回復

使用道具 舉報

ID:1094127 發表于 2023-11-9 19:15 | 顯示全部樓層
卡姿蘭大眼睛 發表于 2023-11-9 15:44
加個接收時間長短判斷,接收時間大于2秒的,可視為長按,否則為短按

怎么實現呢?
回復

使用道具 舉報

ID:161164 發表于 2023-11-9 21:12 | 顯示全部樓層

main()呢?
回復

使用道具 舉報

ID:161164 發表于 2023-11-9 21:13 | 顯示全部樓層
RDFGRSG 發表于 2023-11-9 19:15
理論我也能想到,怎么實現呢?

說說你的理論
回復

使用道具 舉報

ID:140489 發表于 2023-11-10 08:31 | 顯示全部樓層
看看我這個帖子,也許能幫到你http://m.zg4o1577.cn/bbs/dpj-194975-1.html
回復

使用道具 舉報

ID:161164 發表于 2023-11-10 09:00 | 顯示全部樓層
RDFGRSG 發表于 2023-11-9 22:57
#include
#include "Delay.h"
#include "LCD1602.h"

Duanan_staet和Repeat_Flag在哪里置1?
回復

使用道具 舉報

ID:1097455 發表于 2023-11-15 08:49 | 顯示全部樓層
長按計時  松開判斷
回復

使用道具 舉報

ID:275826 發表于 2023-11-15 19:22 | 顯示全部樓層
檢測重復碼次數,大于一定次數就作為長按
回復

使用道具 舉報

ID:485350 發表于 2023-11-29 11:48 | 顯示全部樓層
按鍵按下置位標志A并開始計時,如果長按時間到了,清除標志A,,,按鍵釋放時,如果A為真,那么處理短按功能并清除標志A
回復

使用道具 舉報

ID:57657 發表于 2023-11-29 13:12 | 顯示全部樓層
按住按鍵計時毫秒,松開后再判斷長短按并清零計時。
回復

使用道具 舉報

ID:1101749 發表于 2023-11-29 16:09 | 顯示全部樓層
char Scanf_Key(void) {         static unsigned char sta = 0;         static unsigned int cnt = 0;         switch(sta)         {                 case 0://用來檢測是否有按鍵按下  有的話進入消抖狀態 MODE_KEY==0為按下                                         if(MODE_KEY == 0) sta = 1;break;                 case 1:                                         if(++cnt > 50)//消抖50ms  如果50ms之后按鍵還是按下的狀態則認為真的按下  否則就是抖動                                         {                                                         cnt=0;                                                         if(MODE_KEY == 0) sta = 2;//進入到下一個狀態                                                         else sta = 0;//回歸檢測狀態                                         }                                         break;                 case 2:                                         if(MODE_KEY==0)                                         {                                                  if(++cnt>1000)//長按                                                  {                                                                 sta = 3;                                                                 return 2;                                                  }                                         }                                         else //短按                                         {                                                         if(cnt>30)                                                         {                                                                 sta = 3;                                                                 return 1;                                                         }                                         }break;                 case 3:                                         if(MODE_KEY == 1)                                         {                                                         sta = 0;                                                         cnt = 0;                                         }                                         break;         }         return 0; }
回復

使用道具 舉報

ID:1101749 發表于 2023-11-29 16:10 | 顯示全部樓層
你試一下我發這個
回復

使用道具 舉報

ID:1101749 發表于 2023-11-29 16:10 | 顯示全部樓層
換個宏定義就可以了
回復

使用道具 舉報

ID:275826 發表于 2023-11-30 09:06 | 顯示全部樓層
luking 發表于 2023-11-29 16:09
char Scanf_Key(void) {         static unsigned char sta = 0;         static unsigned int cnt = 0;         switch(sta)         {  ...

樓主要的紅外遙控器按鍵
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本在线免费视频 | 男人亚洲天堂 | 青青草成人在线 | 国产九九热 | 激情啪啪网 | 国产激情在线观看 | 蜜臀久久99精品久久久久宅男 | 国产盗摄一区二区三区 | 精品在线一区 | 国产精品一品二区三区的使用体验 | 日本丰满少妇裸体自慰 | 日本三级香港三级 | 欧美日韩中文字幕在线 | 亚洲第一免费视频 | 夜夜操网站| 伊人91| 性色av一区二区 | 18视频在线观看 | 韩日视频| 国产福利在线播放 | 国产三级精品视频 | 黄色录像免费观看 | 精品免费在线观看 | 婷婷丁香六月 | 手机福利视频 | 青青草视频污 | 亚洲人高潮女人毛茸茸 | 久久天堂网 | 亚洲三级黄色片 | 日本午夜精品 | 色羞羞| 久久久亚洲一区 | 国产日韩一区二区三区 | 欧美一级特黄视频 | 欧美午夜精品久久久久免费视 | 欧美日韩免费一区二区三区 | 在线一区二区三区 | www.天堂av| 五月天婷婷社区 | 在线视频福利 | 成人福利在线观看 |