




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
触摸屏驱动学习触摸屏驱动学习 第一第一 四线式电阻式触摸屏原理四线式电阻式触摸屏原理 S3C2440 而言 在直接试用触摸屏的是时 引脚 XP XM XP 和 YM 被用于 和触摸屏直接相连 只剩下 AIN 3 0 共 4 个引脚用于一般的 ADC 输入 当不使 用的时候 XP XM XP 和 YM 也可用于一般的 ADC 输入 S3C2440 的触摸屏接口可以驱动成四线电阻触摸屏 四线触摸屏的等效电路 如图 14 4 所示 图中粗线表示相互绝缘的两层导电层粗线表示相互绝缘的两层导电层 当按下时 他们触点 处相连 不同的触点在 x y 方向电压值不一样 将这两个值经过 A D 转换后即 可得到 X Y 的坐标 触摸屏工作过程 触摸屏工作过程 1 触摸屏没有被按下时 等效电路如触摸屏没有被按下时 等效电路如 14 5 所示所示 S4 S5 闭合 S1 S2 S3 断开 即 YM 接地 XP 上拉 XP 作为模拟输 入 对 CPU 而言 YP 作为模拟输入 对 CPU 而言 XM 高阻 触摸屏没有按下的时候 Y ADC 因为上拉 为高电平 当 X 轴和 Y 轴受 挤压而接触导通后 Y ADC 的电压由于连通到地变为低电平 此低电平 可作为中断触发信号来通知 CPU 发生 Pen Down 事件 称为等待中断 模式 Pen Down Up 就是触摸屏按下 松开 都产生 INT TC 中断信号 在 ADCTSC 寄存器的位 8 为 0 或者 1 时 表示等待 Pen Down Up 中断 2 采集 采集 X ADC 电压 得到电压 得到 X 坐标 等效电路如坐标 等效电路如 14 6 所示所示 S1 S3 闭合 S2 S4 S5 断开 即 XP 接上电源 XM 接地 YP 作为输入 对 CPU 而言 YM 高祖 XP 禁止上拉 这时 YP 即 X ADC 就是 X 轴的分压点 进行 A D 转换后就得到 X 坐标 3 采集 采集 Y ADC 电压 得到电压 得到 Y 坐标 等效电路如坐标 等效电路如 14 7 所示所示 S2 S4 闭合 S1 S3 S5 断开 即 YP 接上电源 YM 接地 XP 作为模拟输 入 对 CPU 而言 XM 高祖 XP 禁止上拉 这时 XP 即 Y ADC 就是 y 轴的分 压点 进行 A D 转换后就得到 y 坐标 触摸屏采用的是 PDD MDD 分层驱动程序 第二 几个概念第二 几个概念 MDD Model Device Driver 模式设备驱动 包含某一类型驱动所用的通用代码 一般在驱动 函数里面看不到原型 可以在 F WINCE500 PUBLIC COMMON OAK DRIVERS TOUCH 找到 没有特定的需要不 要修改 MDD 层的代码 直接用就行 PDD Platform Dependence Driver 平台相关驱动 用户需要修改的 可以在 F WINCE500 PLATFORM S3C2440 Src Drivers Touch 找到 DDI Device driver Interface 设备驱动接口 是操作系统与驱动程序交互的接口 协议 DDSI Device driver Service provider Interface 完成 PDD 与 MDD 之间的交互 GWES Graphics Windowing and Event Subsystem 图形窗口和事件子系统 wince 里面包括 鼠标驱动 键盘驱动 触摸屏驱动 打印机驱动 显示驱动 等 第二 第二 PDD 与与 MDD 的主要功能的主要功能 MDD 包含通用的代码 提供面向 GWES 的 DDI 接口 通过 DDSI 来访问 PDD 对于同一代码可重复使用 进行中断处理 进行中断处理 中断处理线程中断处理线程 IST 通常位于这一层 通常位于这一层 PDD 包含与某款硬件相关的代码 对于不同的硬件有不同的实现 只能与某一类 MDD 协同工作 实现 MDD 所需要的 DDSI 函数 第三第三 PDD 与与 MDD 如何工作如何工作 如上图 当用用户访问硬件的时候 是使用 DDI 函数与驱动程序交互 然后再驱动程 序内部 MDD 通过 DDSI 函数调用 PDD 里面的函数 这就是我们通常驱动要实 现的部分 MDD 于 PDD 只是在源代码逻辑层面 在驱动程序的二进制可执行代码中不会 存在 MDD 于 PDD 的分层 PDD 与 MDD 之间除了 DDSI 之外还需要指定定义变 量 第四 第四 PDD 与与 MDD 各层主要函数简介各层主要函数简介 MDD 层 层 1 TouchPanelGetDeviceCaps DDI 用于查询触摸屏设备支持的具体功能 通过 DDSI DdsiTouchPanelGetDeviceCaps INT iIndex LPVOID lpOutput 函数查询相 应的信息 当查询屏幕坐标信息时保存屏幕信息 供后面程序计算校准参数所 用 2 TouchPanelSetMode 用于设置触摸屏的工作模式 采用低采样率还是高采样率 当设置 IST 优先 级时直接通过内核 API 来完成 而直接将其他设置交给 DdsiTouchPanelSetMode 函 数来处理 3 TouchPanelEnable PFN TOUCH PANEL CALLBACK pfnCallback PfnCallback 是指向处理 touch panel 事件的回调函数 该函数的执行动作 创建事件 hTouchPanelEvent 和 hCalibrationSampleAvailable 其中当触笔按下 或抬起 或者定时器中断时会触发 hTouchPanelEvent 事件 而在校准状态下当 有校准数据输入时会触发 hCalibrationSampleAvailable 事件 初始化临界区 初始化所需的触摸屏中断 gIntrTouch 和 gIntrTouchChanged 并且把它们关联到事件 hTouchPanelEvent 中 创建 IST TouchPanelpISR 并设定其优先级 4 该函数首先调用 TouchPanelpAttach 函数 在 TouchPanelpAttach 里面又调用和坐 标校正相关的 TouchPanelSetCalibration 函数 DdsiTouchPanelEnable 在 PDD 中实 现 以及初始化触摸屏驱动的按下弹起 滑动两个线程 4 TouchPanelDisable 禁用触摸屏 touch panel 设备 该函数关闭 ISR 停止中断和注销事件及其他同步手 段 此函数调用了 DdsiTouchPanelDisable 函数 5 TouchPanelPowerHandler BOOL boff Touch Screen 的电源管理函数 boff TRUE 表示关闭电源 FALSE 表示打开电源 其只是调用 DdsiTouchPanelPowerHandler 函数 该函数在进入或退出 poweroff 状态时产生 TouchPanelCalibrationAPoint 该函数用于校准输入的触摸屏坐标 把触摸屏坐 标转换为显示坐标 利用了公式 Sx A1 Tx B1 Ty C 和 Sy A2 Tx B2 Ty C2 6 TouchPanelSetCalibration 该函数通过运行触摸屏校准程序时的校准动作获得显示坐标 Sx Sy 和触笔在十 字形上按下的触摸坐标 Tx Ty 用于计算校准参数 A1 B1 C1 和 A2 B2 C2 7 TouchPanelCalibrationAPoint 该函数用于校准输入的触摸屏坐标 把触摸屏坐标转换为显示坐标 利用了公 式 Sx A1 Tx B1 Ty C 和 Sy A2 Tx B2 Ty C2 8 TouchPanelReadCalibrationPoint 在执行触摸屏校准程序时 用这个函数获得在当前校准点的十字形上点击的触 摸屏坐标 9 TouchPanelReadCalibrationAbord 该函数在校准取消时被调用 在触摸屏校准程序运行过程中取消校准 仅仅设置 状态位和事件后返回 PDD 层层 1 DdsiTouchPanelGetDeviceCaps INT iIndex LPVOID lpOutput 查询 touch panel 设备的相关信息 IIndex 查询的索引值 其取值如下 TPDC SAMPLE RATE ID 查询采样率信息 TPDC CALIBRATION POINT COUNT ID 查询用于校验的点的个数 TPDC CALIBRATION POINT ID 查询需要校验的点的坐标 LpOutput 根据 iIndex 值分别指向相关的信息 2 DdsiTouchPanelSetMode 设置 Touch Panel 工作模式 iIndex 模式索引 TPSM SAMPLERATE HIGH ID 高采样率 TPSM SAMPLERATE LOW ID 低 采样率 lpInput 指向包含相关信息的内存 3 DdsiTouchPanelEnable 该函数所执行的动作 为需要用到的 I O ADC PWM 和 INT 寄存器分配内存空间 配置触摸屏控制器 中断控制器和 PWM 的寄存器 申请触摸屏中断 gIntrTouch 和定时器中断 gIntrTouchChanged 并且对它们进 行初始化 为物理中断号分配相应的系统逻辑中断号 4 DdsiTouchPanelDisable 屏蔽触摸屏中断和释放为 I O ADC PWM 和 INT 寄存器分配的 WinCE 内存空间 5 DdsiTouchPanelAttach 只是简单地返回 1 6 DdsiTouchPanelDetach 只是简单地返回 0 DdsiTouchPanelGetPoint TOUCH PANEL SAMPLE FLAGS pTipStateFlags INT pUncalX INT pUncalY 获得 Touch Panel 上被按下的点的状态和坐标 pTipState 当前触摸点的状态 比如无效点 有效点 被按下的点等 pUnCalX 触摸点的 X 坐标 pUnCalY 触摸点的 Y 坐标 7 DdsiTouchPanelPowerHandler 设置 touch panel 的电源状态 boff TRUE 表示关闭电源 FALSE 表示打开电源 8 TSP VirtualFree VOID TSP VirtualAlloc VOID 分别是释放和获得 wince 系统的堆内存 9 TSP SampleStart 采样开始 利用 PWM 定时器 3 10 TSP SampleStop 停止采样 关闭定时器 11 TSP PowerOn 该函数初始化 AD 定时器 以及消除 INT TC Touch screen interrupt 屏蔽 12 TSP PowerOff 屏蔽 INT TC Touch screen interrupt 13 TSP CalibrationPointGet 该函数是用来计算五个点的校正坐标的 我
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 直播电商2025年主播与品牌合作模式创新策略与风险防控
- 2025-2030年全球新能源产业海外投资案例分析报告
- 机关工会活动策划方案范文
- 熊皮人阅读测试题及答案
- 教育测评考试试题及答案
- 南通会议考试试题及答案
- 2025年电商知识产权保护与知识产权保护法律风险评价报告
- DB65T 4498-2022 高压气地下储气井定期检验规则
- DB65T 4415-2021 机采棉田土壤封闭除草技术规范
- 唱歌 爸爸妈妈听我说说课稿-2025-2026学年小学音乐西师大版三年级下册-西师大版
- 地方病竞赛试题及答案
- 弘扬伟大抗战精神为实现中华民族伟大复兴而奋斗2025-2026学年高二上学期爱国主义教育主题班会
- 社工抗压与情绪处理课件
- (教科2024版)科学二年级上册1.4 设计小房子 课件(新教材)
- 单元考点必刷卷 (一)(含答案)我上学啦 2025-2026学年北师大版一年级数学上册
- 2025保安员考试基础知识应知应会试题+答案
- 农村厨师安全培训课件
- 2025-2026学年人教版(2024)小学体育与健康三年级(全一册)教学设计(附目录P114)
- 起重机作业人员Q2证理论考试练习题含答案
- 四川遂宁2021-2024年中考满分作文64篇
- 2025版防洪堤坝加固工程施工合同
评论
0/150
提交评论