主题 : 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: 24178
精华: 0
发帖: 68
金钱: 345 两
威望: 69 点
贡献值: 0 点
综合积分: 136 分
注册时间: 2010-07-03
最后登录: 2012-04-17
1楼  发表于: 2011-09-13 12:11
很好!!!
学习下!!!
级别: 新手上路
UID: 6943
精华: 0
发帖: 17
金钱: 85 两
威望: 17 点
贡献值: 0 点
综合积分: 34 分
注册时间: 2009-06-25
最后登录: 2012-03-14
2楼  发表于: 2011-09-13 13:32
有意思的东西,学习一下
级别: 圣骑士
UID: 9221
精华: 0
发帖: 376
金钱: 2110 两
威望: 539 点
贡献值: 0 点
综合积分: 752 分
注册时间: 2009-09-22
最后登录: 2016-07-04
3楼  发表于: 2011-09-13 16:11
谢谢了!
一起学习,一起进步
级别: 新手上路
UID: 54869
精华: 0
发帖: 12
金钱: 60 两
威望: 12 点
贡献值: 0 点
综合积分: 24 分
注册时间: 2011-09-07
最后登录: 2011-09-21
4楼  发表于: 2011-09-13 17:00
  
级别: 侠客
UID: 44381
精华: 0
发帖: 83
金钱: 415 两
威望: 83 点
贡献值: 0 点
综合积分: 166 分
注册时间: 2011-04-25
最后登录: 2017-09-13
5楼  发表于: 2011-09-13 17:26
xuexi kanxia
级别: 新手上路
UID: 44599
精华: 0
发帖: 33
金钱: 165 两
威望: 33 点
贡献值: 0 点
综合积分: 66 分
注册时间: 2011-04-26
最后登录: 2011-12-13
6楼  发表于: 2011-09-13 17:44
阿斯达
ARM
级别: 新手上路
UID: 10695
精华: 0
发帖: 2
金钱: 10 两
威望: 2 点
贡献值: 0 点
综合积分: 4 分
注册时间: 2009-11-12
最后登录: 2015-04-09
7楼  发表于: 2011-09-13 17:55
多谢,学习了。O(∩_∩)O~
级别: 侠客
UID: 20692
精华: 0
发帖: 65
金钱: 330 两
威望: 66 点
贡献值: 0 点
综合积分: 130 分
注册时间: 2010-05-06
最后登录: 2019-01-21
8楼  发表于: 2011-09-13 19:00
学习
级别: 新手上路
UID: 55153
精华: 0
发帖: 28
金钱: 140 两
威望: 28 点
贡献值: 0 点
综合积分: 56 分
注册时间: 2011-09-13
最后登录: 2014-03-09
9楼  发表于: 2011-09-13 19:42

 回 楼主(cole3) 的帖子

Ok!!!