欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
單片機接受到一個紅外信號后怎么復位
[打印本頁]
作者:
茉莉星瞳
時間:
2021-12-15 11:40
標題:
單片機接受到一個紅外信號后怎么復位
接受到一個信號后,這個信號一直存在,停不下來了
作者:
188610329
時間:
2021-12-15 13:08
接受到一個信號? 是一個低電平? 還是解析完成后的一個編碼?
如果是解析完成后的一個編碼, 那么和接收就沒有任何關系了, 是你處理邏輯了.
通常解析完一個編碼,會置一個標志,如: Resolution_End = 1;
然后,判斷編碼的程序, 是通過 if(Resolution_End == 1) 來對這個解析完的編碼進行后續操作,完了之后 Resolution_End = 0; 就不會再次操作了, 這個 Uart 中斷標志位 RI = 1, IF(RI) , RI =0 ,其實 是一個道理。
作者:
茉莉星瞳
時間:
2021-12-15 13:21
188610329 發表于 2021-12-15 13:08
接受到一個信號? 是一個低電平? 還是解析完成后的一個編碼?
如果是解析完成后的一個編碼, 那么和接收就 ...
就是做的個紅外密碼鎖,通過解析紅外遙控器鍵值來有具體操作,然后按下一個按鍵以后會一直有這個信號的處理程序在執行,這是讀取鍵值的程序,該怎么改一下呢
void ReadIr() interrupt 0{ unsigned char j,k; unsigned int err; Time=0; DelayMs(70); if(IRIN==0) { err=1000; while((IRIN==0)&&(err>0)) { DelayMs(1); err--; } if(IRIN==1) { err=500; while((IRIN==1)&&(err>0)) { DelayMs(1); err--; } for(k=0;k<4;k++) { for(j=0;j<8;j++) { err=60; while((IRIN==0)&&(err>0)) { DelayMs(1); err--; } err=500; while((IRIN==1)&&(err>0)) { DelayMs(1);//0.14ms Time++; err--; if(Time>30) { EX0=1; return; } } IrValue[k]>>=1; if(Time>=8) { IrValue[k]|=0x80; } Time=0; } } } if(IrValue[2]!=~IrValue[3]) { return; } } }
作者:
13205495918
時間:
2021-12-15 15:37
你找找例程參考一下吧,一般是考慮標準位。
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1