好久没有发**了,不是最近没有学习,而是因为最近遇到了一个非常头疼的问题,那就是自学习是万能空调遥控器的制作,原来做的遥控编码是电视机的,而空调的编码的恶心之处在于:
每个厂商的编码长度,编码格式都不一样,即没有一个统一的标准,NEC的标准是有9ms高电平和4.5ms低电平的引导码,然后0.56ms高,0.565ms低表示0,0.56ms高,1.69ms低表示1,这也是常用的标准,但是空调的品牌千千万万,不是每个厂商都是这样表示,如有的厂商没有引导码,或者引导码为4.5ms高,4.5ms低,有的有间隔码有的没有间隔码,这在一定程度上大大的增加了解码和压缩码的困难,而笔者最近遇到的就是这个问题,而上面的结论也是我搜索了很多资料才的出来了!
但是市面上的确有这样的成品,它们又是怎么做出来的,我想编码是不是有一定的规律,但是看了几个编码标准之后,发现没有,那么是不是可以对得到的电平时间长度进行压缩,从而减少存储容量,我至今也没有找到方法,所以最后用了一个最笨,也是网友们常用的方法,那就是把每次的高低电平脉冲数量记录下来,那么最后原样还原回去,但是这样需要的容量就比较大了,对于内部的Flash,新唐的m051只有4KB的大小,而其他的大的也不过才8KB,一个编码长的有一百多位,也就是两百多个电平,每个电平的时间脉冲不同,多在几千个脉冲左右,即需要两个字节,那么存一个按键的编码的最长的也需要400多个字节,如此4KB的就可以存入8个按键
有的人可能会说,空调也不过就八个按键不到,但是事实并不是如此,空调的按键和电视机的不同,空调每个温度,风向,风量,模式,发出的编码不同,比如同是升温键,从24-25度和25-26度的红外编码就不同(笔者测试过,差距在于几位),也就是说空调发出的是绝对温度,综上要做出一个万能的空调遥控,实在是没有一个比较完美的方法!
附上几种编码格式
|