单片机C语言,红外线遥控器,长按按键一直按下?程序该怎样区分呢?
但是按键一直按下时,则每隔固定时间发送的是重复码,这个重复是固定一组编码,与你按键对应的的地址和命令没有任何关系,也就是说任何长按的重复码都是一样的;NEC协议即6122...
但是按键一直按下时,则每隔固定时间发送的是重复码,这个重复是固定一组编码,与你按键对应的的地址和命令没有任何关系,也就是说任何长按的重复码都是一样的;
NEC协议即6122协议。
你说的是一个什么固定的编码 啊?我对长按判断不出来。单片机C语言 展开
NEC协议即6122协议。
你说的是一个什么固定的编码 啊?我对长按判断不出来。单片机C语言 展开
3个回答
展开全部
你可以这样做就可以实现功能了,你把每次接受的时间间隔设置为100MS,如果连续3-5次都接收到同样的地址码和数据码,并且中间间隔小于50MS的就视为长按键就可以了,具体间隔多长时间你自己定,根据实际操作来定,连续几次也是你自己定,希望对你有帮助
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
打开定时器,定时检查按键状态,就可以判断是否长按了。
追问
是红外遥控发射拉、我是用定时技术器的啊;
NEC协议即6122协议。
【其中:当一直按下按键时,则重复发送,发送完第一次指令(完整指令)后,紧接着每隔108ms重复发送一次,但代码变了,只发送‘引导码’和一个0.56ms的正脉冲,但‘引导码也变了’(9ms高电平和2.25ms低电平)。】
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询