摘要: 总线模型 随着技术的不断进步,系统的拓扑结构也越来越复杂,对热插拔,跨平台移植性的要求越来越高,2.4内核已经难以满足这些需求。为了适应这种形势的需要,从Linux2.6内核开始提供了全新的设备驱动模型。 总线驱动设备模型 这个模型首先有一条总线,然后是总线上挂载有很多驱动。当有设备插到总线上的时候 阅读全文
posted @ 2016-03-09 21:32 盛夏夜 阅读(338) 评论(0) 推荐(0) 编辑
摘要: 阻塞的必要性 当一个设备无法立刻满足用户的读写请求时应当如何处理?例如,调用read时,设备没有数据提供,但以后可能会有;或者一个进程试图向设备写入数据,但是设备暂时没有准备好接收数据。当上述情况发生的时候,驱动程序应当(缺省地)阻塞进程,使它进入等待(睡眠状态),直到请求可以得到满足。 内核等待队 阅读全文
posted @ 2016-03-09 16:57 盛夏夜 阅读(295) 评论(0) 推荐(0) 编辑
摘要: keydev.c /******************************************************************** *头文件 ****************************************************************** 阅读全文
posted @ 2016-03-09 16:56 盛夏夜 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 按键抖动 按键所用的开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,开关不会马上稳定地接通或断开。因而在闭合及断开的瞬间总伴随有一连串的抖动。 按键去抖动的方法主要有两种,一种是硬件电路去抖;另一种就是软件延时去抖。而延时去抖一般又分为两种,一种是for循环等待,另一种是定时器延 阅读全文
posted @ 2016-03-09 10:20 盛夏夜 阅读(268) 评论(0) 推荐(0) 编辑