欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

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

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

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




回復

使用道具 舉報

無效樓層,該帖已經(jīng)被刪除
ID:1094127 發(fā)表于 2023-11-8 23:04 | 顯示全部樓層
有沒有大佬指點一下
回復

使用道具 舉報

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

使用道具 舉報

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

怎么改啊
回復

使用道具 舉報

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

使用道具 舉報

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

程序里怎么改呢?
回復

使用道具 舉報

ID:161164 發(fā)表于 2023-11-9 16:17 | 顯示全部樓層

代碼不完整
回復

使用道具 舉報

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

使用道具 舉報

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

那部分不完整
回復

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

怎么實現(xiàn)呢?
回復

使用道具 舉報

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

main()呢?
回復

使用道具 舉報

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

說說你的理論
回復

使用道具 舉報

16#
無效樓層,該帖已經(jīng)被刪除
ID:140489 發(fā)表于 2023-11-10 08:31 | 顯示全部樓層
看看我這個帖子,也許能幫到你http://www.raoushi.com/bbs/dpj-194975-1.html
回復

使用道具 舉報

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

Duanan_staet和Repeat_Flag在哪里置1?
回復

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

ID:1101749 發(fā)表于 2023-11-29 16:09 | 顯示全部樓層
char Scanf_Key(void) {         static unsigned char sta = 0;         static unsigned int cnt = 0;         switch(sta)         {                 case 0://用來檢測是否有按鍵按下  有的話進入消抖狀態(tài) MODE_KEY==0為按下                                         if(MODE_KEY == 0) sta = 1;break;                 case 1:                                         if(++cnt > 50)//消抖50ms  如果50ms之后按鍵還是按下的狀態(tài)則認為真的按下  否則就是抖動                                         {                                                         cnt=0;                                                         if(MODE_KEY == 0) sta = 2;//進入到下一個狀態(tài)                                                         else sta = 0;//回歸檢測狀態(tài)                                         }                                         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 發(fā)表于 2023-11-29 16:10 | 顯示全部樓層
你試一下我發(fā)這個
回復

使用道具 舉報

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

使用道具 舉報

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

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

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表