跟着项目组长一起做了几个空鼠项目,一直觉得自己长劲不大,因为自己只负责简单的键盘定义部分,最终的整个软件架构其实自己都不太了解。从去年11月份开始,一直都很忙,一个接着一个做,我的任务也只是键盘部分。重复的做一样东西,感觉挺没劲的!
由于产品设计需要,我们要做学习型的遥控器。于是,这项任务就落在了我的手里。
一说起学习型遥控器,其实,思路很简单:就是把要学习的遥控器发送的电平给记录下来,然后存入flash中。待到需要发送时,从flash中将记录的电平给发送出来。而设计的难点在于:用于记录电平的数组应该设为多大,什么时候才算学完一个波形。以及在学习时,怎么才能区分出码字信息和重发信息。
不同的红外编码格式,按键在短按和长按的情况下,发送的红外信息格式也不一样。分析了大部分的红外编码,我发现它们大致可以分为两类:一类是发送完码字信息之后,后面跟有Stop Bit ,然后是Repeat Code;一类是发送完码字信息之后,后面只跟有Stop Bit。而且这两种方式,在按键短按和长按的情况下也不一样。第一类:按键短按情况下,发送完码字信息,发送一次Repeat Code 就结束;长按情况下,发送完码字信息,则一直发送Repeat