本帖最后由 king@ 于 2016-11-16 13:51 编辑
问题0011:不知道遥控器的编码协议,如何解码
不同的遥控器,其协议也不同.
要看你的目的是什么 , 分两种情况:
(1)你只是想单纯的解码出来而已 :可以查看一下你用的遥控器类型,然后百度一下试试看 , 然后结合示波器观看。
(2)你想解码出来后,用到其他设计上去 :这里有两种方法
<a>较为严格 : 就是参考(1)的思路去实验,但是花时太多。
<2>不是很严格,但是很实用 : 先在网上看一个红外遥控器的协议,然后根据它的协议去解码,然后,查看解码的是否正确(通过原码和反码初步验证) , 然后把按下每一个按键,去记录下他的编码,然后下一设计要用到它的时候,你就把上次记录的编码,做一个数组,然后自己去定义每一个编码对应的功能即可。(因为实际上很多类型的编码,无非是引导码的时间不同,当然我们可以不关心引导码 ,还有就是0和1的定义不同,再或者就是先传输的是高位还是低位 , 就是以上三点不同---->个人理解,可能有所偏差,但是对于我们,我们可以不关心解码得到的是对的,还是不对的--->这里的“不对”是指是否和其真实的编码相同,而不是解码失败。我们只需要关注,接收到的信息是否和数组里面的一样,如果一样,就完成某种功能。 当然,这里有更加简单的方法,就是无需每次记录,用一个薄码开关,去选择学习模式和工作模式,这时候定义一个数组,然后先进入学习模式下,将接收到的信息放在数组中,然后进入工作模式,工作模式下只是对比此次接受的编码和数组当中的编码,如果相同,则完成一定的任务就可以了)
根据观点2 那么这里我有点疑问?是否可以这样做?红外解码数码管显示,我按按键,记录对应的值,例如,我按数字键0,8位数码管显示是FF00B78F,怎样把它做成数组?
|