linux下i2c接口的电容触摸屏驱动开发
linux下i2c接口的电容触摸屏驱动开发http://koffuxu.blog.51cto.com/1063541/5486725 I2C 电容触摸屏驱动a) I2C通信协议在这里使用100K的通信速率,其他不做介绍。linux系统下编写I2C驱动,主要有两种方式,一种是把I2C设备当作一个普通的字符设备来处理,另一种是利用linux I2C驱动体系结构来完成。本文采用利用lin
·
linux下i2c接口的电容触摸屏驱动开发
http://koffuxu.blog.51cto.com/1063541/548672
5 I2C 电容触摸屏驱动a) I2C通信协议在这里使用100K的通信速率,其他不做介绍。linux系统下编写I2C驱动,主要有两种方式,一种是把I2C设备当作一个普通的字符设备来处理,另一种是利用linux I2C驱动体系结构来完成。本文采用利用linux I2C体系结构来完成驱动。主要工作就是向linux I2C体系结构注册触摸屏设备,然后在中断服务程序中向input子系统上报多点触摸的坐标以及手势参数等等。关于I2C体系结构详见文章《实例解析linux内核I2C体系结构》 原文链接为
http://www.embedu.org/Column/Column190.htm 和
http://www.embedu.org/Column/Column213.htm
b) 友善之臂更新的linux-2.6.32的内核中已经做好了 I2C的适配器的硬件驱动和适配器的algorithm。在源文件 linux-2.6.32.2/drivers/i2c/busses/i2c-s3c2410.c中完全实现。所以要驱动此I2C电容触摸屏,只需要编写触摸屏的设备驱动即可。参考内核自带的I2C触摸屏的驱动
linux-2.6.32.2/drivers/input/touchscreen/migor_ts.c来编写,只不过这个触摸屏是单点触摸屏。我们要做多点触摸,所以必须使用2.6.32的内核中已经做好的支持多点触摸的input子系统。参考链接为:《Linux的I2C 设备驱动 -- mini2440 上i2c接口触摸屏驱动》
http://www.lupaworld.com/home.php?mod=space&uid=273398&do=blog&id=149486
在创建和配置I2C 设备linux-2.6.32.2/arch/arm/mach-s3c2440/mach-mini2440.c中,应添加代码为:
…………
更多推荐
已为社区贡献2条内容
所有评论(0)