主题 : mini6410 红外 驱动程序+测试程序 (源码) 复制链接 | 浏览器收藏 | 打印
级别: 骑士
UID: 11942
精华: 1
发帖: 144
金钱: 775 两
威望: 155 点
贡献值: 1 点
综合积分: 308 分
注册时间: 2009-12-25
最后登录: 2022-01-16
楼主  发表于: 2011-09-13 12:09

 mini6410 红外 驱动程序+测试程序 (源码)

管理提醒: 本帖被 xoom 执行加亮操作(2011-09-13)
6410的开发板的EINT12外接了一个红外接收器,总想着把它利用起来,趁中秋休假,玩了一下。      

小弟尝试利用以下三种方法完成驱动:
1.内核定时器
2.内核延时
3.6410本身的定时器

由于前两种方法的定时都有一定的局限性,所以利用6410的timer0来完成精确定时操作,不过这样的驱动也严重依赖平台。

有图有真相:
[attachment=2855]

源码附上,还请各位高手拍砖赐教。
1.采用中断查询方式进行键码识别:
[attachment=2856]

采用driver状态机进行红外键码识别(由于Linux中断并不能实时响应,会有丢码现象):
[attachment=2948]

odanobunaga兄的“AP状态机+Drv波形记录”方式:
[attachment=2947]  
[ 此帖被cole3在2011-10-05 10:58重新编辑 ]
附件设置隐藏,需要回复后才能看到
级别: 侠客
UID: 44381
精华: 0
发帖: 83
金钱: 415 两
威望: 83 点
贡献值: 0 点
综合积分: 166 分
注册时间: 2011-04-25
最后登录: 2017-09-13
1楼  发表于: 2011-09-13 17:26
xuexi kanxia