触摸屏控制器驱动程序设计
- 格式:docx
- 大小:14.20 KB
- 文档页数:9
基于STM32的触摸屏显示系统设计1.引言随着科技的不断进步,触摸屏显示系统越来越普及和应用广泛。
触摸屏提供了一种直观、简单且交互性强的用户输入方式,因此在很多领域都有广泛的应用,如智能手机、平板电脑、汽车导航等。
本文将介绍一种基于STM32的触摸屏显示系统设计。
2.系统架构系统由主控板、触摸屏模块以及液晶显示器组成。
主控板使用STM32微控制器作为核心,负责整个系统的控制和数据处理。
触摸屏模块通过SPI接口与主控板连接,实现对触摸事件的检测和数据传输。
液晶显示器通过GPIO接口与主控板连接,用于显示系统界面。
3.系统功能该触摸屏显示系统具有以下功能:3.1触摸事件检测和处理系统能够实时检测到用户的触摸事件,并根据触摸事件进行相应的处理。
通过触摸屏模块的驱动和算法,可以高效地检测到触摸事件的位置和状态,如按下、滑动、放开等,并将触摸事件数据传输给主控板进行处理。
3.2图形界面显示系统能够将处理后的数据以图形界面的形式显示在液晶显示器上。
主控板通过与液晶显示器的通信,将界面数据传输给显示器,并控制显示器进行相应的显示。
用户可以通过触摸屏进行交互,如点击按钮、滑动列表等。
3.3音频播放系统还可以进行音频播放功能。
通过主控板的音频接口,可以连接外部音频设备,如音响或耳机。
用户可以通过触摸屏界面选择和控制音频文件的播放、暂停、调节音量等。
4.系统设计4.1硬件设计硬件设计包括主控板、触摸屏模块和液晶显示器的选型和连接设计。
主控板选择STM32系列的微控制器,具有丰富的外设和高性能的处理能力。
触摸屏模块选择支持SPI接口的触摸屏驱动芯片,能够实现高速数据传输和准确的触摸事件检测。
液晶显示器选择支持GPIO接口的液晶屏,具有较高的分辨率和显示效果。
4.2软件设计软件设计包括主控板的固件开发和触摸屏界面的设计。
主控板的固件开发主要包括驱动程序和应用程序的编写。
驱动程序包括对触摸屏模块和液晶显示器的控制程序,实现数据传输和显示控制。
触摸屏设计方案1. 引言触摸屏作为一种用户界面交互方式,已经在电子设备领域中得到广泛应用。
它可以取代物理按键,提供更直观、便捷的操控方式。
本文将介绍一个触摸屏设计方案,包括设计目标、硬件选型、软件开发以及测试计划。
2. 设计目标在设计触摸屏前,首先需要明确设计目标。
以下是本设计方案的目标:•实现高精度触摸控制:触摸屏应该有足够的分辨率和灵敏度,以实现精准的触摸控制。
•支持多点触控:触摸屏应该支持多点触控,以实现更复杂的手势操作。
•高可靠性和稳定性:触摸屏应该具备高可靠性和稳定性,能够在长时间使用中保持正常工作。
•低功耗:触摸屏应该尽可能降低功耗,延长电池续航时间。
•符合人体工程学设计:触摸屏的外形和尺寸应该符合人体工程学的要求,使操作更舒适。
3. 硬件选型选择适合的硬件是设计触摸屏的重要一步。
下面是本设计方案的硬件选型:3.1 触摸屏芯片触摸屏芯片是触摸屏的核心组件,负责将触摸信号转换为数字信号输出。
在选型触摸屏芯片时,需要考虑以下因素:•分辨率:选择具备高分辨率的触摸屏芯片,以获得更准确的触摸控制。
•灵敏度:选择灵敏度高的触摸屏芯片,以提高触摸的响应速度。
•接口类型:触摸屏芯片应支持常用接口类型,比如I2C或SPI,在连接主控芯片时更加方便。
•抗干扰能力:触摸屏芯片应具备较好的抗干扰能力,以减少外部干扰对触摸控制的影响。
3.2 显示屏触摸屏一般与显示屏结合使用,形成一个完整的显示控制系统。
在选型显示屏时,需要考虑以下因素:•分辨率:选择与触摸屏芯片匹配的显示屏,以保证触摸和显示的一致性。
•尺寸和比例:根据应用场景和终端设备的尺寸要求选择合适的显示屏尺寸和比例。
•显示技术:根据应用需求选择合适的显示技术,比如LCD、OLED等。
3.3 控制器控制器是触摸屏与主控芯片之间的桥梁,负责将触摸信号传输给主控芯片,并接收主控芯片发送的指令。
在选型控制器时,需要考虑以下因素:•接口类型:选择与主控芯片兼容的控制器,以确保信号传输的稳定性。
mini2440驱动分析系列之---------------------------------------Mini2440触摸屏程序分析By JeefJiang July,8th,2009这是mini2440驱动分析系列的第三篇文章,本文分为三个部分,第一部分讲叙硬件知识,包括触摸屏的原理以及SCC2440 SOC上的触摸屏是如何工作的。
第二部分分析输入设备子系统的框架,并进行相应的代码分析。
第三部分利用上述的原理来分析mini2440的触摸屏驱动。
第四部分介绍了测试和校准。
1.需要准备的硬件知识1.1电阻式触摸屏工作原理原理触摸屏附着在显示器的表面,与显示器相配合使用,如果能测量出触摸点在屏幕上的坐标位置,则可根据显示屏上对应坐标点的显示内容或图符获知触摸者的意图。
触摸屏按其技术原理可分为五类:矢量压力传感式、电阻式、电容式、红外线式、表面声波式,其中电阻式触摸屏在嵌入式系统中用的较多。
电阻触摸屏是一块4层的透明的复合薄膜屏,如图2所示,最下面是玻璃或有机玻璃构成的基层,最上面是一层外表面经过硬化处理从而光滑防刮的塑料层,中间是两层金属导电层,分别在基层之上和塑料层内表面,在两导电层之间有许多细小的透明隔离点把它们隔开。
当手指触摸屏幕时,两导电层在触摸点处接触。
触摸屏的两个金属导电层是触摸屏的两个工作面,在每个工作面的两端各涂有一条银胶,称为该工作面的一对电极,若在一个工作面的电极对上施加电压,则在该工作面上就会形成均匀连续的平行电压分布。
如图4所示,当在X方向的电极对上施加一确定的电压,而Y方向电极对上不加电压时,在X平行电压场中,触点处的电压值可以在Y+(或Y-)电极上反映出来,通过测量Y+电极对地的电压大小,便可得知触点的X 坐标值。
同理,当在Y电极对上加电压,而X电极对上不加电压时,通过测量X+电极的电压,便可得知触点的Y坐标。
电阻式触摸屏有四线和五线两种。
四线式触摸屏的X工作面和Y工作面分别加在两个导电层上,共有四根引出线,分别连到触摸屏的X电极对和Y电极对上。
Vxworks下的触摸屏驱动设计1 电阻式触摸屏介绍电阻式触摸屏利用压力感应进行控制。
电阻触摸屏的主要部分是一块与显示器表面紧密接合的电阻薄膜屏,这是一种多层的复合薄膜,它以一层玻璃或硬塑料平板作为基层,表面涂有一层透明氧化金属(透明的导电电阻)导电层,上面再盖有一层外表面硬化处理、光滑防擦的塑料层,它的内表面也涂有一层涂层、在他们之间有许多细小的的透明隔离点把两层导电层隔开绝缘。
当手指触摸屏幕时,两层导电层在触摸点位置就有了接触,电阻发生变化,在x和y 两个方向上产生信号,然后送触摸屏控制器。
控制器侦测到这一接触并计算出(x,y)的位置,再根据模拟鼠标的方式运作。
这就是电阻技术触摸屏的最基本的原理。
电阻类触摸屏的关键在于材料科技,常用的透明导电涂层材料有ITO氧化铟弱导电体或镍金涂层。
1.1四线电阻屏四线电阻模拟量技术的两层透明金属层工作时每层均增加5V恒定电压:一个竖直方向,一个水平方向。
总共需四根电缆。
具有高解析度,高速传输反应的特点,稳定性高。
1.2五线电阻屏五线电阻技术触摸屏的基层把两个方向的电压场通过精密电阻网络都加在玻璃的导电工作面上,简单的理解为两个方向的电压场分时工作加在同一工作面上,而外层镍金导电层仅仅用来当作纯导体,有触摸后分时检测内层ITO接触点X轴和Y轴电压值的方法测得触摸点的位置。
五线电阻触摸屏内层ITO需四条引线,外层导体仅仅一条,触摸屏引出线5条。
该类触摸屏具有解析度高,高速传输反应的特点,但缺点是价位高,对环境要求高。
1. 3电阻式触摸屏的局限电阻触摸屏都是一种对外界完全隔离的工作环境,不怕灰尘和水汽,它可以用任何物体来触摸,可以用来写字画画,比较适合工业控制领域及办公室内的办公使用。
其缺点是因为复合薄膜的外层采用塑胶材料,过度用力或使用锐器触摸可能划伤整个触摸屏而导致损坏。
但在限度之内,划伤只会伤及外导电层,外导电层的划伤对于五线电阻触摸屏来说没有太大影响,而对四线电阻触摸屏来说是致命的。
收藏本站主编信箱首页业界新闻| 国际视点| 展会培训| 精选文章| 期刊浏览| 网上投稿| 广告合作| 杂志在线| 关于本刊| 联系本刊2008年9月28日星期日[期刊浏览] 2005年第10期新器件新技术上一篇:基于ARM架构的嵌入式VP.. 下一篇:基于RC7017的100M以太网..新一代TSC2046触摸屏控制器作者: 华中科技大学 朱品伟 乔学亮 陈建国摘要TSC2046引脚和ADS7846的引脚完全兼容,其核心是一个具有采样和保持功能的12位逐次逼近式A/D转换器。
当有触摸事件发生时,PENIRQ 笔中断引脚产生一个低电平信号,向微控制器申请中断服务。
TSC2046通过SPI接口和微控制器进行通信,在正常转换时,X+、Y+、X-、Y-、VBAT、AUXIN六路模拟输入信号需经过片内的6通道选择器选择后,方可进入模拟量输入通道进行转换。
TSC2046工作方式可设为8位或12位模式,输入方式有差分输入和单端输入,其中断服务程序可采用C51语言编写。
关键词TSC2046 触摸屏 触摸屏控制器引言在便携式电子类产品中,触摸屏由于其轻便、占用空间少、方便灵活等优点,已经逐渐取代键盘,成为嵌入式计算机系统的输入设备。
触摸屏分为电阻、电容、表面声波、红外线扫描和矢量压力传感等类型,其中使用最多的是四线或五线电阻触摸屏。
四线电阻触摸屏是由两个透明电阻膜构成的, 在它的水平和垂直电阻网上施加电压, 就可通过A/ D 转换面板在触摸点测量出电压而对应出坐标值。
TSC2046是ADS7846的下一代四线触摸屏控制器,是典型的逐次逼近寄存器型A/D 变换器。
其结构以电容再分布为基础,包含了取样/保持功能,支持低电压(1.5~5.25 V)的I/O接口。
1 引脚功能和内部结构TSC2046的引脚和ADS7846的引脚完全兼容,可以插入和ADS7846相适应的插座中,因此,很方便替换原来使用的ADS7846进行更新升级。
湖南农业大学东方科技学院全日制普通本科生毕业论文基于STM32的触摸屏控制设计Based on STM32 and Touch Tcreen Control Design学生姓名:学号:年级专业及班级:2008级信息工程(2)班指导老师及职称:学部:理工学部提交日期:2012年5月湖南农业大学东方科技学院全日制普通本科生毕业论文(设计)诚信声明本人郑重声明:所呈交的本科毕业论文是本人在指导老师的指导下,进行研究工作所取得的成果,成果不存在知识产权争议。
除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。
对本文的研究做出重要贡献的个人和集体在文中均作了明确的说明并表示了谢意。
同时,本论文的著作权由本人与湖南农业大学东方科技学院、指导教师共同拥有。
本人完全意识到本声明的法律结果由本人承担。
毕业论文(设计)作者签名:(作者手写签名)年月日目录摘要 (1)关键词 (1)1 前言 (2)ARM应用背景 (2)研究内容 (3)研究成果 (4)2 STM32处理器的概述 (4)STM32简介 (4)STM32的参数 (5)内部资源 (5)3 图片的处理和显示实现方法 (7)液晶显示电路设计: (7)图片的处理 (7)总体方案与硬件整体架构 (7)本例中FSMC的使用 (9)ILI9325 (10)显示实现 (10)TFTLCD字显示 (11)TFTLCD图显示 (12)供电部分电路设计 (13)4 软件设计模块 (14)程序编写步骤 (14)系统初始化 (17)STM32的开发软件 (17)FSMC模块介绍以及初始化程序 (17)屏接口时序的实现 (18)5 运行方法和结果 (19)硬件电路连接 (19)程序编写步骤 (19)现象和结果 (19)6 结论 (20)参考文献 (20)致谢 (20)基于STM32的触摸屏控制设计摘要:伴随着科技的发展,现代电子产品中的单片机和触摸屏在手机、导航仪器、电子测试仪器以及咨询终端等设备中都有很广泛的应用。
FTU的整体设计与实现FTU是一种用于嵌入式系统的触摸显示模块,它将触摸和显示功能结合在一起,为用户提供更直观、友好的操作方式。
在设计和实现FTU时,需要考虑到以下几个方面:硬件设计、驱动开发和应用程序设计。
首先,硬件设计是整个FTU设计的基础。
硬件设计主要涉及到电路设计、PCB设计和外壳设计。
电路设计需要根据需求确定所需的元件和芯片,并对其进行电路连接,实现触摸和显示功能。
PCB设计将电路设计结果转化为PCB布局图,将元件安置在正确的位置上,并进行连线。
外壳设计则需要考虑到实际使用环境和用户需求,设计一个外观美观、结构合理的外壳,以保护电路和提供舒适的使用体验。
其次,驱动开发是FTU设计中的重要组成部分。
驱动开发主要包括触摸驱动和显示驱动。
触摸驱动需要通过读取触摸屏上的电容来获取用户的触摸输入,并将其转化为数字信号,以便应用程序处理。
而显示驱动则需要将应用程序生成的图形数据转化为对应的电平信号,驱动显示屏上的像素点进行亮灭控制。
在驱动开发中,需要了解触摸屏和显示屏的底层通信协议,并编写相应的驱动程序进行解析和处理。
最后,应用程序设计是FTU的核心。
应用程序设计需要根据用户需求开发相应的功能模块,实现用户与FTU的交互。
例如,可以设计一个菜单系统,用户可以通过触摸屏来选择不同的菜单项,并进行相应操作。
应用程序设计也需要考虑到系统的实时性和稳定性,确保在用户操作时能够快速响应,并保证系统的可靠性。
综上所述,FTU的整体设计与实现包括硬件设计、驱动开发和应用程序设计三个方面。
在设计过程中,需要深入理解触摸屏和显示屏的底层原理和工作方式,并根据用户需求进行相应的设计和开发。
只有在这三个方面都做得足够好,FTU才能够提供稳定、可靠、友好的触摸显示体验。
触摸屏控制实验设计报告序随着中国工业化的快速发展,对工业自动化控制的要求也在不断提高和完善。
触摸屏作为一种可视化的人机界面,以其体积小、可靠性高的特点逐渐取代传统的按钮控制和仪表控制,成为工业控制中人机界面的主流。
本文分析了触摸屏设备的特点、国外现状和发展趋势,设计了一种基于嵌入式实时操作系统WinCE5.0和ARM9系列AT91SAM9261为核心处理器的大型触摸屏控制器。
考虑到触摸屏设备的功能需求,提出了本课题的设计指标,制定了触摸屏控制器的总体设计方案,具体体现在控制器硬件设计和操作系统移植两个方面。
硬件平台采用模块化、结构化的思想进行设计和实现。
分析了触摸屏控制器中的主要硬件模块,包括处理器核心模块、存储模块、触摸屏模块、键盘模块、以太网模块和USB主从模块,并给出了硬件设计方法和电路实现。
硬件测试环境的建立是为了调试我弟弟的硬件模块。
基于搭建的硬件平台,本文重点研究了嵌入式操作系统WinCE 5.0的移植和BSP的开发。
分析了WinCE 5.0操作系统的架构和移植原理,在了解了三星公司的S3C2410 BSP之后,给出了基于AT91SAM9261的WinCE 5.0 BSP的开发过程。
详细分析了WinCE 5.0 Bootloader的工作原理和体系结构。
根据触摸屏系统的功能需求和硬件资源的分配,设计了触摸屏设备的Bootloader,并给出了具体的开发步骤。
深入研究了OAL的功能和原理,详细给出了OAL开发中的重要功能和主要模块。
针对触摸屏控制器的主要硬件模块,在分析WinCE 5.0中断模型和中断机制的基础上,开发了触摸屏驱动程序、矩阵键盘驱动程序和USB主机驱动程序。
在开发的BSP的基础上,利用WinCE 5.0操作系统定制工具Plarform Builder 对操作系统内核进行定制和编译,并对操作系统的性能进行测试。
测试结果表明,WinCE 5.0操作系统能够成功移植到触摸屏控制器上,能够满足工业现场的实时性要求。
触摸屏控制器驱动程序设计在便携式的电子类产品中,触摸屏由于其便、灵活、占用空间少等优点,已经逐渐取代键盘成为嵌入式计算机系统常选用的人机交互输入设备。
触摸屏输入系统由触摸屏、触摸屏控制器、微控制器及其相应的驱动程序构成。
本文从触摸屏控制器的驱动程序设计着手,介绍触摸屏控制器ADS7843的内部结构及工作原理和在嵌入式Linux操作系统中基于PXA255微处理器的ADS7843驱动程序设计。
1触摸屏控制器ADS7843的介绍1.1ADS7843的内部结构ADS7843内驻一个多路低导通电阻模拟开关组成的供电-测量电路网络、12bit逐次逼近A/D转换器和异步串行数据输入输出,ADS7843根据微控制器发来的不同测量命令导通相应的模拟开关,以便向触摸屏电极对提供电压,并把相应电极上的触点坐标位置所对应的电压模拟量引入A/D 转换器,图1为ADS7843内部结构图。
X+、Y+、X-、Y-为触摸屏电极模拟电压输入;CS为ADS7843的片选输入信号,低电平有效;DCLK接外部时钟输入,为芯片进行A/D转换和异步串行数据输入/输出提供时钟;DIN串行数据输入端,当CS低电平时,输入数据在时钟的上升沿将串行数据锁存;DOUT串行数据输出端,在时钟下降沿数据由此移位输出,当CS为高电平时,DOUT呈高阻态。
BUSY为系统忙标志端,当CS为低电平,且BUSY 为高电平时,表示ADS7843正在进行数据转换;VREF参考电压输入端,电压值在+1V到+VCC之间变化;PENIRQ为笔触中断,低电平有效;IN3、IN4为辅助ADC转换输入通道;+VCC为电源输入。
图1ADS7843内部结构1.2ADS7843的转换时序ADS7843完成一次数据转换需要与微控制器进行3次通信,第一次微处理器通过异步数据传送向ADS843发送控制字,其中包括起始位、通道选择、8/12位模式、差分/单端选择和掉电模式选择,其后的两次数据传送则是微控制器从ADS7843取出16bitA/D转换结果数据(最后四位自动补零),每次通信需要8个时钟周期,完成一次数据转换共需24个时钟周期,图2为ADS7843转换时序。
图2ADS7843转换时序2ADS7843与PXA255硬件接口PXA255微处理器是Intel公司生产的第二代基于32位XScale微架构的集成系统芯片(ISOC),PXA255具有高性能、低功耗等优点,它除了XScale 微内核外,还集成了许多适用于手持设备市场需要的外围设备。
图3为ADS7843触摸屏控制器与PXA255微处理器的硬件连线示意图。
当屏触发生时ADS7843向PXA255发出中断请求,由PXA255响应该中断请求,启动通信过程,读取ADS7843的转换结果,从而得到触摸点的坐标。
ADS7843各信号的时序受外部输入时钟信号频率的影响,一旦外部输入时钟频率固定,各信号的时序便完全确定,因此需要配置PXA255的接口信号时序,使之完全符合ADS7843的时序。
图3ADS7843触摸屏控制器与PXA255微处理器的连线示意图3ADS7843驱动程序的设计Linux作为一个宏内核操作系统,其设备驱动都在内核,即系统空间实现,实现方式有两种,一种是将有关的设备驱动程序和数据结构静态地连接在内核映像中;另一种是将具体的设备驱动程序和数据结构独立加以编译,成为可安装的模块,需要时由应用程序通过系统调用动态地予以安装或拆卸。
设备驱动的实现方法也有两种,一种是轮询(polling)方式,另一种是中断(inter-rupt)方式,轮询方式对设备的操作完全由CPU掌握,外部设备则完全处于被动状态。
中断方式是由外部设备主动提出申请,CPU 响应申请后对外部设备进行处理,是现在常用的设备驱动方式。
Linux的设备驱动具有两个显著的特点,其一是把所有的设备视为一种设备文件,每个设备都呈现于文件系统的/dev目录下,设备驱动与文件操作具有相同的界面和语义,并通过同一组系统调用进行操作;另一个显著特点是Linux的设备驱动有着分明的层次和结构。
Linux内核的新近版本为设备入口提供了一种特殊的文件系统,即设备文件系统devfs(device)。
新的devfs机制的优点在于:①各种设备驱动模块动态地向系统登记,设备初始化时在/dev目录下创建设备入口点,移除设备时将其删除。
②设备驱动程序可以指定设备名、所有者和权限位。
③不需要为设备驱动程序分配主设备号以及次设备号。
④当装载和卸载模块时,不再需要运行脚本来创建设备文件,驱动程序自主地管理其设备文件。
采用devfs机制的设备驱动程序调用下面的函数来处理设备的创建和删除工作。
devfs_hander_tdevfs_mk_dir(devfs_han2der_tdir,constchar3name,void3in fo)devfs_hander_tdevfs_register(devfs_han2der_tdir,constchar3NAME,unsig nedintflags,unsignedintmajor,unsignedintminor,umode_tmode,void3ops,v oid3info)voiddevfs_unregister(devfs_hander_tde)在Linux操作系统编写设备驱动程序时有几个固定的功能模块:向Linux 内核注册该设备时的初始化设备驱动程序模块;用于系统卸载模块时删除设备驱动程序的模块;提供用户使用该设备驱动程序的文件操作接口模块。
对于各类具体设备编写驱动程序时还应具有对该设备进行操作的应用函数。
下面就以ADS7843驱动程序设计为例分析以上几个功能模块。
1)ADS7843向Linux内核注册设备时的初始化函数int__initads7843_ts_init(void)//设备初始化函数{intret;if((ret=devfs_register_chrdev(TS_MAJOR,TS_NAME,&ads7843_ts_fops))!= 0){printk("registeringof"TS_NAME"isfailed\n");returnret;}devfs_ts_dir=devfs_mk_dir(NULL,"touchscreen",NULL);//建立触摸屏设备目录devfs_handle=devfs_register(devfs_ts_dir,"ts",DEVFS_FL_DEFAULT,TS_MAJ OR,0,S_IFCHR|S_IRUSR|S_IWUSR,&ads7843_ts_fops,NULL);//注册设备if((ret=request_irq(IRQ_GPIO_ADS7843,ads7843_ts_inter-rupt,SA_SHIRQ|SA_INTERRUPT,TS_NAME,dev_id)))//申请中断{printk("ads7843_ts_init:failedtoregisterIRQ\n");free_irq(IRQ_GPIO_ADS7843,dev_id);returnret;}if((ret=ads7843_init())!=0)//初始化触摸屏{free_irq(IRQ_GPIO_ADS7843,dev_id);returnret;}GPDR0&=~GPIO_bit(ADS7843_BUSY);GPDR0&=~GPIO_bit(ADS7843_DOUT);Ads7843_Enable_IRQ();//开启中断printk("ads7843touchscreendriverinitialized\n");return0;}2)系统卸载ADS7843驱动程序功能函数void__exitads7843_ts_cleanup(void)//卸载驱动程序函数{if(in_timehandle)del_timer(&timer);free_irq(IRQ_GPIO_ADS7843,dev_id);//释放中断devfs_unregister_chrdev(TS_MAJOR,TS_NAME);//从系统中删除设备驱动程序printk("ads7843touchscreendriverremoved\n");}3)在驱动程序最后用于模块初始化和删除驱动的功能函数module_init(ads7843_ts_init);//初始化驱动模块函数module_exit(ads7843_ts_cleanup);//删除驱动模块函数4)ADS7843设备文件操作结构体staticstruct{read:ads7843_ts_read,//从设备中读数据操作poll:ads7843_ts_poll,//查询设备操作ioctl:ads7843_ts_ioctl,//设备IO控制操作fasync:ads7843_ts_fasync,//异步通知操作open:ads7843_ts_open,//打开设备操作release:ads7843_ts_release,};//当文件结构被释放时,调用释放操作由于文章篇幅所限,对设备文件操作的功能函数不再一一列出。
5)ADS7843具体操作函数①ADS7843串行输出控制字函数voidADS7843_din(charcommand)udelay(DELAY);//延时for(inti=0;i>i)&0x1)ADS7843_SetBit(0,ADS7843_DIN);//数据位为1elseADS7843_ClearBit(0,ADS7843_DIN);//数据位为0udelay(DELAY);ADS7843_SetBit(0,ADS7843_CLK);}}//时钟变高②微处理器读取X坐标值函数(读取Y坐标值函数相类似,控制字为0x90)intADS7843_ts_measure_x(void){chari,inttouch_data=0;ADS7843_ClearBit(0,ADS7843_CS);//片选端置低电平udelay(DELAY);ADS7843_din(0xD0);//向ADS7843发送读X坐标控制字0xD0ADS7843_ClearBit(0,ADS7843_CLK);udelay(DELAY);while(!(GPLR0&GPIO_bit(ADS7843_BUSY)))printk("BUSY1\n");ADS7843_ClearBit(0,ADS7843_CLK);for(i=0;i>=3;//对最后4位自动置0处理return(touch_data&0xfff);}4驱动模块的安装在Linux操作系统中,对于已编好的设备驱动程序,利用编译工具将驱动程序编译成驱动模块。