0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

英创信息技术EM9280 Linux触摸屏应用开发简介

英创信息技术 来源:英创信息技术 作者:英创信息技术 2020-01-16 09:39 次阅读

1、简述

触摸屏是覆盖在显示屏表面的一层薄片,当有触摸笔接触到触摸屏时,系统中相应的驱动会得到触摸笔点击的位置,并可通知应用程序,从而实现人机交互的功能。电阻式触摸屏是比较常见的触摸屏,EM9280提供对于4线制电阻式触摸屏的支持,在定制的Linux内核中已完全实现了该触摸屏的驱动支持。

在EM9280中,触摸屏作为输入设备其设备文件为:“/dev/input/event0”。

本文将介绍EM9280 Linux环境下应用程序如何使用触摸屏设备。

2、tslib移植

在采用触摸屏的移动终端中,触摸屏性能的调试是个重要问题之一,因为电磁噪声的缘故,触摸屏容易存在点击不准确、有抖动等问题。tslib是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸屏驱动的适配层,为上层的应用提供了一个统一的接口

tslib 为触摸屏驱动和应用层之间的适配层,其从驱动处获得原始的设备坐标数据,通过一系列的去噪、去抖、坐标变换等操作,来去除噪声并将原始的设备坐标转换为相应的屏幕坐标。

tslib的移植过程:

1、下载源码:git clone https://github.com/kergoth/tslib

2、转入工作目录:cd tslib

3、生成configure:./autogen.sh

4、配置,生成Makefile

./configure --host=arm-none-linux-gnueabi(平台) --prefix=/(安装目录)

--enable-debug=no

5、编译 make

6、安装 make install

在指定的安装目录下生成/bin /etc /lib /include文件夹。然后将相应目录下的文件分别复制到EM9280的根文件系统中对应目录中。

还需要进行一些参数的配置。

/etc目录下的profile需要指定 tslib的设备及路径:
export set TCLIB_TSDEVICE=/dev/input/event0
export set TCLIB_CALIBFILE=/etc/pointercal
export set TCLIB_CONFFILE=/etc/ts.conf
export set TCLIB_PLUGINDIR=/lib/ts

tslib中包括有触摸屏测试程序ts_test ,运行ts_test之前,需要先运行ts_calibrate对触摸屏进行校准。

3、触摸屏的应用程序开发

为了方便客户触摸屏应用程序开发,我们将tslib中的测试程序ts_test程序导出,利用tslib的动态库文件libts.so,可直接在英创公司提供的应用开发工具 eclipse上进行ts_test直接编译,生成具有同样功能的触摸屏测试程序。这种方式的好处是应用程序可直接利用tslib所提供的接口函数,获取到触摸屏操作后所得到的x、y坐标值,客户可方便地在此基础实现人机交互操作界面的需求。

在eclipse环境下建立一个c++ project:ts_test,该工程文件中需要导入以下文件:
ts_test.c //触摸屏测试主程序
tslib.h //定义操作ts的接口函数
libts.so //动态库,即tslib.h文件各个接口函数的具体实现
fbutils.c fbutils.h //定义和屏幕显示相关的接口函数
font.h font_8x16.c font_8x8.c //定义显示字符的font

从上述说明可以看出,和ts接口相关的主要函数定义在tslib.h libts.so这个两个文件中。

该工程文件中用到专用的动态库libts.so,在eclipse环境对此程序编译时,需要设置相应的编译属性。在Project Explorer视窗下,选择需要设置的工程文件,然后点击鼠标右键,选择 Properties项,在窗口中选择C/C++ Build -> Settings -> Tool Settings -> Sourcery G++ C++ Linker -> Libraries,如下图所示。其中的一个窗口用于指定库文件的名称,一个用于指定库文件的路径。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    10974

    浏览量

    206671
  • 嵌入式主板
    +关注

    关注

    7

    文章

    6063

    浏览量

    34595
收藏 人收藏

    评论

    相关推荐

    电容触摸屏原理 电容触摸屏和电阻触摸屏有什么区别

    电容触摸屏和电阻触摸屏是两种常见的触摸屏技术,它们在原理、结构和应用方面都有很大的区别。下面将详细介绍电容触摸屏的原理、结构和特点,并与电阻
    的头像 发表于 01-22 16:13 778次阅读

    如何为开发板调试新的触摸屏

    天嵌TQT113核心板-Linux双核A7核心板1.调试新的触摸屏1.1确定设备信息输入设备的设备节点名为/dev/input/eventX(也可能是/dev/eventX,X表示0、1、2等数字
    的头像 发表于 12-08 11:41 690次阅读
    如何为<b class='flag-5'>开发</b>板调试新的<b class='flag-5'>触摸屏</b>

    方法|如何为开发板调试新的触摸屏

    方法|如何为开发板调试新的触摸屏
    的头像 发表于 11-30 11:30 450次阅读
    方法|如何为<b class='flag-5'>开发</b>板调试新的<b class='flag-5'>触摸屏</b>

    方法|如何为开发板调试新的触摸屏

    /dev/input/event1 在开发板上执行上述命令之后, 点击触摸屏, 就会打印以下信息: type:type 用于描述发生了哪一种类型的事件(对事件的分类),Linux
    发表于 11-29 15:50

    嵌入式Linux触摸屏图形组态软件的研究

    电子发烧友网站提供《嵌入式Linux触摸屏图形组态软件的研究.pdf》资料免费下载
    发表于 10-13 09:24 0次下载
    嵌入式<b class='flag-5'>Linux</b>的<b class='flag-5'>触摸屏</b>图形组态软件的研究

    基于ARM处理器S3C2440和Linux统的I2C触摸屏设计

    电子发烧友网站提供《基于ARM处理器S3C2440和Linux统的I2C触摸屏设计.pdf》资料免费下载
    发表于 10-12 10:32 0次下载
    基于ARM处理器S3C2440和<b class='flag-5'>Linux</b>统的I2C<b class='flag-5'>触摸屏</b>设计

    信息技术是干什么?

    广播电子技术信息技术
    橙群微电子
    发布于 :2023年09月22日 09:17:48

    触摸屏物体识别技术有哪些 触摸屏怎么区分电容屏和电阻屏

    电容式触摸屏通过感应电场变化来识别和跟踪触摸物体。常见的电容式触摸屏包括表面电容式触摸屏和投影电容式触摸屏
    发表于 09-06 15:41 1417次阅读

    如何效正触摸屏时钟#硬声创作季

    触摸屏
    或许
    发布于 :2023年06月28日 07:50:34

    触摸屏的四大功能#硬声创作季

    触摸屏
    或许
    发布于 :2023年06月27日 18:14:17

    米尔MYD-YG2开发触摸屏测试

    米尔MYD-YG2开发板测试米尔触摸屏
    的头像 发表于 05-24 13:12 29.4w次阅读