早在诺基亚手机还比较流行的时候,那时候触摸屏用的还不多。但是随着触摸屏手机、即智能手机的流行,触摸屏基本成了手机的标配。所以,今天可以看看触摸屏驱动在linux上是如何进行的。

1、驱动目录

drivers/input

2、看看这个目录的Makefile如何设计

obj-$(CONFIG_INPUT) += input-core.o

input-core-y := input.o input-compat.o input-mt.o ff-core.o

obj-$(CONFIG_INPUT_TOUCHSCREEN) += touchscreen/

3、除了input-core.o这个文件外,只需要看touchscreen目录就可以了

config TOUCHSCREEN_S3C2410

tristate "Samsung S3C2410/generic touchscreen input driver"

depends on ARCH_S3C24XX || SAMSUNG_DEV_TS

depends on S3C_ADC

help

Say Y here if you have the s3c2410 touchscreen.

If unsure,say N.

To compile this driver as a module,choose M here: the

module will be called s3c2410_ts.

4、看懂了Kconfig之后,再阅读Makefile,注意S3C_ADC宏可以参考arch/arm/plat-samsung/adc.c

obj-$(CONFIG_TOUCHSCREEN_S3C2410) += s3c2410_ts.o

5、继续阅读s3c2410_ts.c文件

static const struct platform_device_id s3cts_driver_ids[] = {

{ "s3c2410-ts",0 },{ "s3c2440-ts",{ "s3c64xx-ts",FEAT_PEN_IRQ },{ }

};

MODULE_DEVICE_TABLE(platform,s3cts_driver_ids);

static struct platform_driver s3c_ts_driver = {

.driver = {

.name = "samsung-ts",#ifdef CONFIG_PM

.pm = &s3c_ts_pmops,#endif

},.id_table = s3cts_driver_ids,.probe = s3c2410ts_probe,.remove = s3c2410ts_remove,};

module_platform_driver(s3c_ts_driver);

6、根据probe函数,看看有什么需要注意的内容

ts.client = s3c_adc_register(pdev,s3c24xx_ts_select,s3c24xx_ts_conversion,1);

if (IS_ERR(ts.client)) {

dev_err(dev,"Failed to register adc client\n");

ret = PTR_ERR(ts.client);

goto err_iomap;

}

7、接着,查看是否有中断函数被注册

ret = request_irq(ts.irq_tc,stylus_irq,"s3c2410_ts_pen",ts.input);

8、最后

很明显,触摸屏驱动本质上还是由TOUCHSCREEN_S3C2410和S3C_ADC两个macro一起完成的。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

总结

以上是编程之家为你收集整理的linux 触摸屏驱动编写全部内容,希望文章能够帮你解决linux 触摸屏驱动编写所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

Linux程序之触摸,linux 触摸屏驱动编写相关推荐

  1. Linux程序之触摸,linux触摸屏touch screen调用测试程序

    linux触摸屏touch screen调用测试程序 #include #include static int event0_fd = -1; struct input_event ev0[64]; ...

  2. Linux触屏驱动Windows,linux 触摸屏驱动编写

    这篇文章主要介绍了linux 触摸屏驱动编写,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 早在诺基亚手机还比较流行的时候,那时候触摸屏用的还不多.但是随着触摸屏手机.即 ...

  3. Linux下IIC子系统和触摸屏驱动

    Linux下IIC子系统和触摸屏驱动 1.IIC简介   I2C( Inter-Integrated Circuit)总线是由 PHILIPS 公司开发的两线式串行总线,用于连接微控制器及其外围设备. ...

  4. linux 触摸屏驱动编写

    早在诺基亚手机还比较流行的时候,那时候触摸屏用的还不多.但是随着触摸屏手机.即智能手机的流行,触摸屏基本成了手机的标配.所以,今天可以看看触摸屏驱动在linux上是如何进行的. 1.驱动目录 driv ...

  5. 【基于Linux系统设备树的SPI驱动编写方法】

    文章目录 前言 一.SPI驱动编写 1.修改设备树  a.设备树文件是什么?  b.设备树怎么改? 2.编写驱动 二.完善和测试 1.编译和应用程序  a.编译 && 拷贝到开发板命令 ...

  6. 单片机上运行linux程序代码,在Linux下烧录51单片机

    原标题:在Linux下烧录51单片机 *本文作者:LEdge1,本文属 FreeBuf原创奖励计划,未经许可禁止转载. 背景 我一直在学习Linux 系统,但是最近还要学习51单片机,所以在Linux ...

  7. 后台运行linux程序,后台运行Linux程序的方法

    后台运行Linux程序,可以通过crontab设置,这种方法一般用来让一个程序定时运行,也可以通过./test &这样在程序末尾加上一个&使程序在后台运行. 编写代码,下面我将参考ht ...

  8. linux 程序退出 调试,linux驱动程序调试常用方法(printk,OOP,strace,hacking,ioctl,/proc,kgdb)...

    驱动程序开发的一个重大难点就是不易调试.本文目的就是介绍驱动开发中常用的几种直接和间接的调试手段,它们是: 利用printk 查看OOP消息 利用strace 利用内核内置的hacking选项 利用i ...

  9. 安卓跑linux程序_Android 运行 Linux 可执行程序

    /**************************************************************************** * Android 运行 Linux 可执行 ...

最新文章

  1. LoadRunner系统架构简介与运行原理
  2. vs开发工具报错:参数错误 异常来自 HRESULT:0x80070057 E_INVALIDARG
  3. SPOJ - LIS2 Another Longest Increasing Subsequence Problem
  4. 点云网络的论文理解(七)-Frustum PointNets for 3D Object Detection from RGB-D Data
  5. 1595 hdu find the longest of the shortest
  6. FLASH CS3中的FLA形式组件制作教程
  7. 数值分析-泰勒公式及泰勒级数
  8. sql server 多用户 并发_Tinyid:滴滴开源千万级并发的分布式ID生成器
  9. 将c编译成.so 并调用(ubuntu)
  10. bochs模拟器创建映像文件 、写入文件并启动
  11. 自学总结:非科班转行前端拿到字节跳动 offer?看我是如何一步一步做到的?
  12. ros-noetic-yocs-cmd-vel-mux
  13. educoder:第3关:嵌套循环 - 跃迁能量表
  14. txt电子书如何用安卓手机完美打开?
  15. 企业简介和公司介绍快闪PPT模板
  16. 第十四届蓝桥杯模拟赛c++ 试题 I
  17. 看书APP开发制作流程(成品案例)
  18. 安卓手机软件开发_安卓最牛的下载神器,快收藏起来自己偷偷用
  19. 刷新率属于计算机的显示性能指标吗,显示器性能指标(菜鸟必看)
  20. (附源码)spring boot大学生综合素质测评系统 毕业设计 162308

热门文章

  1. HDU 6703 array(主席树 + set)
  2. P3312 [SDOI2014]数表(离线 + 树状数组前缀和优化)
  3. ABC 189 E - Rotate and Flip 矩阵转移
  4. bzoj5093: [Lydsy1711月赛]图的价值
  5. gym103117L. Spicy Restaurant
  6. C - Rencontre Gym - 102798C
  7. 数列互质(莫队算法)
  8. Comet OJ(Contest #14)-飞翔的小鸟【tarjan】
  9. Ybtoj-排列计数【矩阵乘法,分块幂】
  10. [科技]Loj#6564-最长公共子序列【bitset】