单片机C语言,红外线遥控器,长按按键一直按下?程序该怎样区分呢?

2024-11-26 04:55:22
推荐回答(3个)
回答1:

按下时发送正常的编码,发送完毕,若按键依然按下,则发送重复码,重复码和引导码有共同的特点,就是周期短了一些(引导:13.5ms;重复:11.25ms),这个不就可以区分了吗?
只要接收的码周期是13.5,即一组新发送的编码,若是11.25则是重复码,重复码时,则将之前接收到的编码作为本次接收到的编码处理即可。

回答2:

你可以这样做就可以实现功能了,你把每次接受的时间间隔设置为100MS,如果连续3-5次都接收到同样的地址码和数据码,并且中间间隔小于50MS的就视为长按键就可以了,具体间隔多长时间你自己定,根据实际操作来定,连续几次也是你自己定,希望对你有帮助

回答3:

打开定时器,定时检查按键状态,就可以判断是否长按了。