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

但是按键一直按下时,则每隔固定时间发送的是重复码,这个重复是固定一组编码,与你按键对应的的地址和命令没有任何关系,也就是说任何长按的重复码都是一样的;NEC协议即6122... 但是按键一直按下时,则每隔固定时间发送的是重复码,这个重复是固定一组编码,与你按键对应的的地址和命令没有任何关系,也就是说任何长按的重复码都是一样的;
NEC协议即6122协议。
你说的是一个什么固定的编码 啊?我对长按判断不出来。单片机C语言
展开
 我来答
伽罗林克
推荐于2017-09-07 · TA获得超过2632个赞
知道小有建树答主
回答量:931
采纳率:0%
帮助的人:1183万
展开全部
按下时发送正常的编码,发送完毕,若按键依然按下,则发送重复码,重复码和引导码有共同的特点,就是周期短了一些(引导:13.5ms;重复:11.25ms),这个不就可以区分了吗?
只要接收的码周期是13.5,即一组新发送的编码,若是11.25则是重复码,重复码时,则将之前接收到的编码作为本次接收到的编码处理即可。
来自:求助得到的回答
laserenqingwan
2012-11-15 · TA获得超过445个赞
知道小有建树答主
回答量:430
采纳率:0%
帮助的人:186万
展开全部
你可以这样做就可以实现功能了,你把每次接受的时间间隔设置为100MS,如果连续3-5次都接收到同样的地址码和数据码,并且中间间隔小于50MS的就视为长按键就可以了,具体间隔多长时间你自己定,根据实际操作来定,连续几次也是你自己定,希望对你有帮助
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hityaowei
2012-11-16
知道答主
回答量:9
采纳率:0%
帮助的人:8.2万
展开全部
打开定时器,定时检查按键状态,就可以判断是否长按了。
追问
是红外遥控发射拉、我是用定时技术器的啊;
NEC协议即6122协议。
【其中:当一直按下按键时,则重复发送,发送完第一次指令(完整指令)后,紧接着每隔108ms重复发送一次,但代码变了,只发送‘引导码’和一个0.56ms的正脉冲,但‘引导码也变了’(9ms高电平和2.25ms低电平)。】
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式