金牌会员
 
- 积分
- 1304
- 金钱
- 1304
- 注册时间
- 2019-1-1
- 在线时间
- 173 小时
|
发表于 2021-7-29 21:30:27
|
显示全部楼层
问题1:NEC协议中,假如你一直按住某个按键不放,这时候会有一个连发码(对于接收端来说就是低电平9ms+2.25ms高电平+0.56ms低电平+97.94ms高电平)。那么我们检测2.25ms高电平就可以了,这里也不需要太精准,2.5ms也可以,这里就代表连发码了。
问题2:溢出中断回调函数这里,这部分代码你可以理解为松开按键,每次溢出进入到中断服务函数就会对RmtSta变量进行加1操作,假如说,按正常流程操作只按下一次,那么我们可以通过查看PPT里面的一个图知道从同步码到控制反码用不到100ms,那没有重发码,然后再进几次中断,那么该变量RmtSta是不是会超过14,那是不是证明已经松开按键了,相对应我们是不是可以把引导码标记和计数器值清除。
另外,假如我们按键一直按下的情况,那么重发码是不是一直会发送过来,那么在输入捕获回调函数里面对于识别是重发码,就会把计数器值RmtSta低四位置0。按键一直按着,那该条件是不是不会成立对吧。 |
|