9月21~23日:编写红外驱动源码,直接找个类似的改写,有了之前的led和按键驱动的经验,这次编写的较快。我使用的红外遥控器采用NEC with simple repeat code 数据格式编码。而hi3515c正好有IR模块。且支持NEC with simple repeat code 数据格式解码。
但是编译出来不能用。最后发现的问题如下:
1、对寄存器CRG_PERCTRL57[ir_srst_req]写1后一定要再写回0;这个文档没有详细说明,误认为写1后会自动写回0.否则一直处于复位状态且红外寄存器会配置错误。
IR模块复位后。其寄存器默认为NEC with simple repeat code 数据格式解码。所以就不用再设置了。唯一需要改的地方就是参考频率。这个参考频率文档没有详细的说明。网上资料更是没有。第一想到的是IR模块所在时钟频率。但实验结果发现不对。文档再没有对这个参考的频率做出解释。这个问题浪费太多时间了。最后没办法了,就试一试系统中常见的几个频率。最后试了晶振的频率24Mhz,效果就出来了。(最怕小问题,很浪费时间)。
上述问题解决后,只需转换成键值就OK了。20个键全部识别,并很稳定,没有遇到不能识别的情况。
9月24-25日:主要是在帮学长在测试,和恢复物联网的东西。
下周计划:QT移植。