触摸屏程序设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5.实验原理
S3C2410A微控制器内嵌了一个 S3C2410A微控制器内嵌了一个ADC和触摸屏接口,只需要在微控 微控制器内嵌了一个ADC和触摸屏接口 和触摸屏接口, 制器外部外接少量器件,就可以与触摸屏相连,实现触摸功能。 制器外部外接少量器件,就可以与触摸屏相连,实现触摸功能。 Linux操作系统中 该控制器对应的字符型驱动源文件为: 操作系统中, 在Linux操作系统中,该控制器对应的字符型驱动源文件为: s3c2410-ts.c,将该驱动编译为模块后,生成驱动模块:s3c2410ts.ko。 s3c2410-ts.c,将该驱动编译为模块后,生成驱动模块:s3c2410ts.ko。 使用该驱动模块时,只须将该模块用insmod命令插入到内核中即可 命令插入到内核中即可。 使用该驱动模块时,只须将该模块用insmod命令插入到内核中即可。 该模块插入内核后,自动在Linux的 该模块插入内核后,自动在Linux的/dev/目录下创建节点 touchscreen。 touchscreen。 对触摸屏设备的操作除了打开设备、关闭设备操作以外, 对触摸屏设备的操作除了打开设备、关闭设备操作以外,一般 只有读操作。读操作读取触摸屏的触点座标值及动作信息, 只有读操作。读操作读取触摸屏的触点座标值及动作信息,读取结 果保存在一个结构体变量中,该结构体的定义如程序清单1所示。 果保存在一个结构体变量中,该结构体的定义如程序清单1所) 启动MagicARM2410实验箱上的Linux,进行NFS连接,进入触摸屏驱动所 启动MagicARM2410实验箱上的 实验箱上的Linux,进行NFS连接 连接, 在目录,先插入触摸屏驱动模块, 目录,运行应用程序, 在目录,先插入触摸屏驱动模块,然后进入touchscreen目录,运行应用程序, 查看运行结果。 查看运行结果。
5.实验原理
该结构体的定义见配套光盘提供的Linux源码中的 该结构体的定义见配套光盘提供的Linux源码中的include/asm源码中的include/asmarm/linuette_ioctl.h文件 arm/linuette_ioctl.h文件。 文件。 程序清单1 程序清单1 触摸屏触点座标值及动作信息 typedef struct { unsigned short pressure; unsigned short x; unsigned short y; unsigned short pad; } TS_RET; 其中,触摸笔动作取值如下: 其中,触摸笔动作取值如下: #define PEN_UP 0 #define PEN_DOWN 1 #define PEN_FLEETING 2 //触摸笔动作 //触摸笔动作 //触点x座标值 //触点 触点x //触点y座标值 //触点 触点y
$ vi ts.c
(3)编写Makefile或修改5.1节的Makefile,使其适合于本实验。 编写Makefile或修改 节的 或修改5.1节的Makefile,使其适合于本实验。
EXEC = ts OBJS = ts.o SRC = ts.c
(5)编译程序,生成可执行代码ts。 编译程序,生成可执行代码ts。
3.实验内容
使用S 2410A 触摸屏驱动编写应用程序, 使用 S3C2410A 触摸屏驱动编写应用程序 , 读取触 摸屏的触点座标值及动作信息, 摸屏的触点座标值及动作信息 , 并在串口终端中打印 出来。 出来。
4.实验预习要求
(1) 仔细阅读本书第1章的内容,了解实验箱的硬件结构, 仔细阅读本书第1章的内容,了解实验箱的硬件结构, 注意触摸屏电路。 注意触摸屏电路。 (2) 仔细阅读S3C2410A用户手册中的《ADC& TOUCH 仔细阅读S3C2410A用户手册中的《 用户手册中的 SCREEN INTERFACE》一节,理解该控制器的相关寄 INTERFACE》一节, 存器的使用方法及特点。 存器的使用方法及特点。
//触摸笔抬笔,即触摸屏不被压下 //触摸笔抬笔, 触摸笔抬笔 //触摸笔下笔,即触摸屏被压下 //触摸笔下笔 触摸笔下笔, //触摸笔拖动 //触摸笔拖动
编写应用程序读取触摸屏的触点座标值及动作信息时, 编写应用程序读取触摸屏的触点座标值及动作信息时,只须利用触摸屏驱动程序 便可实现,先打开触摸屏设备,然后调用读函数即可。 便可实现,先打开触摸屏设备,然后调用读函数即可。
6.实验步骤
(1)在PC端,打开终端或者进入虚拟控制台,进入arm实验目录 PC端 打开终端或者进入虚拟控制台,进入arm实验目录 /zylinux/armwork/,为本实验新建工作目录touchscreen。
$ cd /zylinux/armwork $ mkdir touchscreen
(2)使用自己熟悉的编辑器(例如vi)建立文件ts.c,根据触摸屏驱动 使用自己熟悉的编辑器(例如vi)建立文件ts.c, 的介绍,编写实验代码并保存。 的介绍,编写实验代码并保存。
触摸屏程序设计
祝烈煌 中教832 liehuangz@
触摸屏输入实验
1.实验目的
学会Linux下S3C2410A触摸屏驱动的使用方法 学会Linux下S3C2410A触摸屏驱动的使用方法。 触摸屏驱动的使用方法。
2.实验设备
硬件: 硬件: PC机 PC机 MagicARM2410教学实验开发平台 MagicARM2410教学实验开发平台 软件: 软件: RedHat Linux 9.0操作系统 9.0操作系统 嵌入式Linux开发环境 嵌入式Linux开发环境 1台 1台
# insmod s3c2410ts.ko # ./ts
用触摸笔点击触摸屏上的任意一点,可在实验箱Linux的终端上看到打印出 用触摸笔点击触摸屏上的任意一点,可在实验箱Linux的终端上看到打印出 来的信息。 来的信息。
pressure is: 1 x is: 305 y is: 526
如果触摸笔离开触摸屏,则可看到以下打印信息。 如果触摸笔离开触摸屏,则可看到以下打印信息。
pressure is: 0 x is: 0 y is: 0