Linux程序之触摸,linux 触摸屏驱动编写
早在诺基亚手机还比较流行的时候,那时候触摸屏用的还不多。但是随着触摸屏手机、即智能手机的流行,触摸屏基本成了手机的标配。所以,今天可以看看触摸屏驱动在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 触摸屏驱动编写相关推荐
- Linux程序之触摸,linux触摸屏touch screen调用测试程序
linux触摸屏touch screen调用测试程序 #include #include static int event0_fd = -1; struct input_event ev0[64]; ...
- Linux触屏驱动Windows,linux 触摸屏驱动编写
这篇文章主要介绍了linux 触摸屏驱动编写,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 早在诺基亚手机还比较流行的时候,那时候触摸屏用的还不多.但是随着触摸屏手机.即 ...
- Linux下IIC子系统和触摸屏驱动
Linux下IIC子系统和触摸屏驱动 1.IIC简介 I2C( Inter-Integrated Circuit)总线是由 PHILIPS 公司开发的两线式串行总线,用于连接微控制器及其外围设备. ...
- linux 触摸屏驱动编写
早在诺基亚手机还比较流行的时候,那时候触摸屏用的还不多.但是随着触摸屏手机.即智能手机的流行,触摸屏基本成了手机的标配.所以,今天可以看看触摸屏驱动在linux上是如何进行的. 1.驱动目录 driv ...
- 【基于Linux系统设备树的SPI驱动编写方法】
文章目录 前言 一.SPI驱动编写 1.修改设备树 a.设备树文件是什么? b.设备树怎么改? 2.编写驱动 二.完善和测试 1.编译和应用程序 a.编译 && 拷贝到开发板命令 ...
- 单片机上运行linux程序代码,在Linux下烧录51单片机
原标题:在Linux下烧录51单片机 *本文作者:LEdge1,本文属 FreeBuf原创奖励计划,未经许可禁止转载. 背景 我一直在学习Linux 系统,但是最近还要学习51单片机,所以在Linux ...
- 后台运行linux程序,后台运行Linux程序的方法
后台运行Linux程序,可以通过crontab设置,这种方法一般用来让一个程序定时运行,也可以通过./test &这样在程序末尾加上一个&使程序在后台运行. 编写代码,下面我将参考ht ...
- linux 程序退出 调试,linux驱动程序调试常用方法(printk,OOP,strace,hacking,ioctl,/proc,kgdb)...
驱动程序开发的一个重大难点就是不易调试.本文目的就是介绍驱动开发中常用的几种直接和间接的调试手段,它们是: 利用printk 查看OOP消息 利用strace 利用内核内置的hacking选项 利用i ...
- 安卓跑linux程序_Android 运行 Linux 可执行程序
/**************************************************************************** * Android 运行 Linux 可执行 ...
最新文章
- LoadRunner系统架构简介与运行原理
- vs开发工具报错:参数错误 异常来自 HRESULT:0x80070057 E_INVALIDARG
- SPOJ - LIS2 Another Longest Increasing Subsequence Problem
- 点云网络的论文理解(七)-Frustum PointNets for 3D Object Detection from RGB-D Data
- 1595 hdu find the longest of the shortest
- FLASH CS3中的FLA形式组件制作教程
- 数值分析-泰勒公式及泰勒级数
- sql server 多用户 并发_Tinyid:滴滴开源千万级并发的分布式ID生成器
- 将c编译成.so 并调用(ubuntu)
- bochs模拟器创建映像文件 、写入文件并启动
- 自学总结:非科班转行前端拿到字节跳动 offer?看我是如何一步一步做到的?
- ros-noetic-yocs-cmd-vel-mux
- educoder:第3关:嵌套循环 - 跃迁能量表
- txt电子书如何用安卓手机完美打开?
- 企业简介和公司介绍快闪PPT模板
- 第十四届蓝桥杯模拟赛c++ 试题 I
- 看书APP开发制作流程(成品案例)
- 安卓手机软件开发_安卓最牛的下载神器,快收藏起来自己偷偷用
- 刷新率属于计算机的显示性能指标吗,显示器性能指标(菜鸟必看)
- (附源码)spring boot大学生综合素质测评系统 毕业设计 162308
热门文章
- HDU 6703 array(主席树 + set)
- P3312 [SDOI2014]数表(离线 + 树状数组前缀和优化)
- ABC 189 E - Rotate and Flip 矩阵转移
- bzoj5093: [Lydsy1711月赛]图的价值
- gym103117L. Spicy Restaurant
- C - Rencontre Gym - 102798C
- 数列互质(莫队算法)
- Comet OJ(Contest #14)-飞翔的小鸟【tarjan】
- Ybtoj-排列计数【矩阵乘法,分块幂】
- [科技]Loj#6564-最长公共子序列【bitset】