在wince下如何识别遥控器红外波形的问题?

fanmei   2009-4-2 10:58 楼主
大家好呀,现在想实现遥控器与wince开发板的红外通信,开发板的红外接收端与PXA270的串口相连,我想先修改相应串口驱动的com_read函数,在里面添加识别红外波形为0还是1,然后再在应用程序中利用readfile读取数据,这样对吗?
恳请高手

回复评论 (10)

还是在相应的串口驱动中修改?
点赞  2009-4-2 12:59
红外驱动在系统中,和串口是一样的
点赞  2009-4-2 11:04
在你的PB中的catalog中搜索“IrDA”,然后把这个红外组件选上,重新生成OS,然后直接就有红外的驱动了,不需要拿原来的串口驱动来改。

对于如何操作红外,毕竟都是串行设备,OS已经提供了相关的API,可以通过Socket等方式,来来去去都是send()和recv()这些函数,所以不必担心。

相关的可以查看这篇教学文章,里面讲得非常详细:http://msdn.microsoft.com/en-us/library/ms810617.aspx
点赞  2009-4-2 11:35
谢谢大家。
我现在有个问题还不是很懂,就是遥控器是单片机的,那么跟wince开发板通信不使用IrDA协议,红外编码是原始的一串波形,采用NEC编码格式(即数字0和1的高低电平不一样),那如果我在PB中加上红外组件后即加上红外的驱动后,开放板能自动识别这一串码中哪些是O,哪些是1,还是需要自己编代码实现。
点赞  2009-4-2 12:31
要自己加,IrDA的协议跟遥控器协议不一样的

另外或者你可以做一个IrDA的适配器,让遥控器先经过适配器在通过CE的红外串口
点赞  2009-4-2 12:39
提示: 作者被禁止或删除 内容自动屏蔽
点赞  2009-4-2 12:58
这样吧,你做个适配器,就用52单片机做,功能就是把接收到的遥控红外信号解码出来,并转换成UART输出,这样CE上什么都不用改了,直接通过串口接受52发出的数据就可以了
点赞  2009-4-2 13:48
单片机读取红外数据,然后发给wince就可以了
点赞  2009-4-2 14:15
谢谢大家!
关键现在是wince开放板上的硬件都定下来了,也没时间再改。
555,现在很着急呀
大家能不能在不改变现有电路的基础上提点意见。
谢谢大家了!
点赞  2009-4-2 14:25
LZ 搞定了没。能否指点下。
点赞  2010-6-18 14:38
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复