anchor720
驱动牛犊
驱动牛犊
  • 注册日期2007-07-26
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分280分
  • 威望30点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
阅读:2466回复:5

IIC接口的矩阵键盘驱动

楼主#
更多 发布于:2007-08-14 20:59
首先,跨平台到wince上来了,对于驱动的开发停留在只能操作寄存器的基础上了,可谓是零起点。
工作重点:1。了解wince的驱动体系结构,确定键盘为本地驱动。Wince50的键盘本地驱动主要分几个层:PDD和MDD
主要的改动集中在PDD这一层上。也就是说,注册表,platform.bib文件全都不用改,只需要改BSP下的KBDCOMMON下的:kbd.cpp和s3c2440kbd.cpp
MATRIX_0409下的:s3c2440.cpp(在这个文件里改键盘映射)
回到kdb.cpp里,这个函数:Matrix_Entry是整个键盘驱动的主入口,一行行分析不难发现,硬件初始化加在这里面。
2。wince的驱动处理流程搞清楚了后,进入到中断的响应Arminit.c和cfw.c这两个文件里,根据自已CPU的中断引脚更改,
把对应的中断处理case分支,返回SYSINTR_KEYBOARD,或者处理SYSINTR_KEYBOARD对应case分支内容。

我做的工作也就这么多。感想:1.别急着调,先做几个测试点,确保硬件是通的。
                            2.多花时间在wince的驱动的体系结构和流程上,PB的help是个不错的工具。
                            其它的就是相通的了,硬件初始化看仔细,不要肓目相信datasheet,反过来多试试。
自已做的第一个wince的驱动,可能对于高手来说相当简单,就当是抛砖引玉了。
多多交流:liyong983@163.com
最后还要感谢几乎和我同时进行wince键盘驱动开发工作的wikee和sunignol,虽未曾谋面,但你们的贴子对我的帮助很大。
anchor720
驱动牛犊
驱动牛犊
  • 注册日期2007-07-26
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分280分
  • 威望30点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-08-14 20:59
buaadallas
驱动牛犊
驱动牛犊
  • 注册日期2005-03-16
  • 最后登录2007-10-18
  • 粉丝0
  • 关注0
  • 积分470分
  • 威望47点
  • 贡献值0点
  • 好评度47点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-08-15 09:14
恭喜!
其实学习WINCE驱动,最重要的就是熟悉它的开发流程。
改驱动和自己从头写驱动还是有区别的,很多很具体很细的问题还是需要自己写大量的代码才能发现。所以,做WINCE驱动的同志们,千万不要仅仅满足于在别人的驱动下修改,需要花时间深入去读懂代码,自己多写代码才能真正提高编程水平。
dillonhua
驱动小牛
驱动小牛
  • 注册日期2004-07-30
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分36分
  • 威望401点
  • 贡献值0点
  • 好评度128点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-08-15 22:00
坛子里面有个兄弟,就是做的IIC键盘驱动,不过他好象是接的PHILP的一个芯片,然后接PS2吧,不是太清楚了,你自己搜索一下
anchor720
驱动牛犊
驱动牛犊
  • 注册日期2007-07-26
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分280分
  • 威望30点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-08-17 15:44
感谢buaadallas ,  dillonhua 的提醒
anchor720
驱动牛犊
驱动牛犊
  • 注册日期2007-07-26
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分280分
  • 威望30点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-08-24 15:47
现在出现一个这样的问题了:和音频的驱动集成在一起后,一按键,就会不断的有音频设备响应到中断。用示波器量,这个中断并不是我的键盘IC产生的,而且我的2440中断脚设的为上下沿中断,按理说,按键弹起时也会发生一个中断通知系统的啊。
小弟实在是不明白。
游客

返回顶部