本帖最后由 flyday 于 2013-9-17 11:36 编辑
经过几天的研究,终于把OK210开发板wince红外驱动的部分给完成了。 开发工具:vs2005,飞凌官方OK210开发板,杜邦线3根,烙铁一把,焊锡,4.7k电阻一个。 开发软件:Win CE 6.0 下图是所需的开发工具
从网上找了好久,不是不能用,就是骗子代码,根本不能用,最可气的就是挂羊头卖狗肉,标着红外驱动,用自己宝贵的积分,下载下来一看根本就不是,浪费了我很多时间,最后没办法只能自己动手了,这里充分体现了毛主席“自己动手,丰衣足食”这句话的重要性。好了废话不多说吧我自己的这几天的思路告诉大家让大家以后少走弯路,在这里我也希望广大网友能够不吝惜自己的劳动成果,把自己的奋斗果实奉献下,这样能让很多网友少走弯路,大家庆幸之余也会非常感激”挖井人“的。 首先,我是按照单片机解码的思路,开始制作的Win CE操作系统的红外驱动,可把我害苦了。我用的是中断+定时器。思路呢和网上所有的都一样,但是总是卡死在定时器上,定时器我用的是微秒级别的延时,这样已进入系统,总是不停地去响应定时器的中断,这样就卡死在线程了。系统连起都起不来了,害的我倒腾了好几天,最后没办法只能放弃了,改用延时,网上有现成的函数。解码的遥控器类型有很多,这里我只做了最通用的NEC遥控器,其他的只需要改一下高低电平时间就行了。 NEC红外协议,作为接收端来讲,首先是引导码,有9ms的低电平,然后是4.5ms的高电平,然后是32位的操作码,对于按键来说我们只需要解第三组就可以了,其他的NEC协议的知识可以从网上搜索下有很多的。 现在只做红外接收模块,将准备好的杜邦线插在红外的三个引脚上,引脚顺序,大家从网上搜索下,然后就是找一个直插的4.7k上拉电阻,接到hs0038的接受引脚和5v引脚中间。由于我的红外解码思路是中断所以只能找中断引脚了,但是通篇的找飞凌OK210开发板上中断引脚真的是太难找了,(⊙o⊙)最后没办法只能找已经引出的引脚了,最后发现按键上每个引脚都能用,都是中断引脚,最后我选择了外部中断6,开发板的k4按键,将按键的上拉电阻去掉,然后焊接出一条引线,接到红外接收器的接收引脚。下面是自己焊的红外接收模块。
好了硬件准备完毕,现在开始写驱动。 6.实验结果,当你按下遥控器上的按键时,dnw或超级终端上会显示相应的按键码如下:
长时间按某一个按键,会显示同一个键值如下:
|