单片机C语言,红外线遥控器,长按按键一直按下?程序该怎样区分呢?
答案:3 悬赏:40 手机版
解决时间 2021-12-04 13:08
- 提问者网友:听门外雪花风
- 2021-12-03 13:08
单片机C语言,红外线遥控器,长按按键一直按下?程序该怎样区分呢?
最佳答案
- 五星知识达人网友:七十二街
- 2021-12-03 13:50
按下时发送正常的编码,发送完毕,若按键依然按下,则发送重复码,重复码和引导码有共同的特点,就是周期短了一些(引导:13.5ms;重复:11.25ms),这个不就可以区分了吗?
只要接收的码周期是13.5,即一组新发送的编码,若是11.25则是重复码,重复码时,则将之前接收到的编码作为本次接收到的编码处理即可。来自:求助得到的回答
只要接收的码周期是13.5,即一组新发送的编码,若是11.25则是重复码,重复码时,则将之前接收到的编码作为本次接收到的编码处理即可。来自:求助得到的回答
全部回答
- 1楼网友:爱难随人意
- 2021-12-03 15:53
你可以这样做就可以实现功能了,你把每次接受的时间间隔设置为100MS,如果连续3-5次都接收到同样的地址码和数据码,并且中间间隔小于50MS的就视为长按键就可以了,具体间隔多长时间你自己定,根据实际操作来定,连续几次也是你自己定,希望对你有帮助
- 2楼网友:千杯敬自由
- 2021-12-03 15:21
打开定时器,定时检查按键状态,就可以判断是否长按了。追问是红外遥控发射拉、我是用定时技术器的啊;
NEC协议即6122协议。
【其中:当一直按下按键时,则重复发送,发送完第一次指令(完整指令)后,紧接着每隔108ms重复发送一次,但代码变了,只发送‘引导码’和一个0.56ms的正脉冲,但‘引导码也变了’(9ms高电平和2.25ms低电平)。】
NEC协议即6122协议。
【其中:当一直按下按键时,则重复发送,发送完第一次指令(完整指令)后,紧接着每隔108ms重复发送一次,但代码变了,只发送‘引导码’和一个0.56ms的正脉冲,但‘引导码也变了’(9ms高电平和2.25ms低电平)。】
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯