问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

minigui 怎么实现底层引擎

发布网友 发布时间:2023-09-23 03:39

我来回答

1个回答

热心网友 时间:2024-12-05 04:17

  嵌入式系统通常拥有特定的输入设备.输入设备用于实现数据输入和人机交互,其种 类繁多, 并且不同的设备依赖不同的硬件实现. 为了减弱系统的硬件相关性和提高可移植性, MiniGUI 提供了统一的输入抽象层 IAL(Input Abstract Layer)接口来支持不同的输入设 备,减小了开发输入设备的难度.下面以开发 4×4 小键盘输入为例,介绍在MiniGUI 中开 发和实现特定键盘输入设备输入的方法.

1 MiniGUI 对键盘输入的处理方式 MiniGUI 对键盘输入的处理方式如图 1 所示.键盘设备驱动程序从键盘接收原始的输入事件 和数据, 并把它转换为 MiniGUI 抽象的键盘事件和数据. 相关的底层事件处理例程把这些键 盘事件转换为上层的击键消息, 放到相应的消息队列中. 应用程序通过消息循环获取这些消 息,交由窗口过程处理. 开发特定的键盘输入, 主要完成底层的两部分工作: 键盘驱动程序设计和键盘输入引擎开发. 前者负责从键盘接收原始输入事件和数据, 后者负责把原始的输入事件和数据转抉成 MiniG UI 抽象的键盘事件和数据.至于抽象键盘事件和数据转换成上层的击键消息等工作,则是 由 MiniGUI 提供的底层事件处理例程自己完成, 无需用户设计, 这正是 MiniGUI提供输入抽 象层接口(IAL)所带来的好处.下面具体介绍小键盘输入的开发过程与实现方法,主要介绍 重要接口函数的实现.

  2 键盘驱动程序设计 该设备驱动要实现的主要功能是进行小键盘行列扫描, 接收原始键盘输入事件和数据, 如有 无键按下, 按下某键或释放某键. 返回的字符型按键信息(小键盘扫描码)由两部分组成: "高 位"代表键盘输入事件,即按下(高位为 O)或释放(高位为 1);"低 7 位"代表键盘输入数 据,即按下或释放的按键值.

  键盘按键值的获取 当按下某个键时,和该键所在行列相连的两路通用外设 I/O 引脚就会导通,其电平就会相 同,因此驱动中只需要轮询各路 I/O 引脚就可以知道按键值.比如,使各行线输入低电平, 各列线都通过上拉电阻接高电平,此时检测各列,如果某一列电平为低,则说明该列所在的 键盘已经按下,使该列与行导通变为低电平,这样就可以确定按键所在列号(j);同理,将 各列置低电平,再依次查询各行,就可以确定按键的行号(i).若定义一个键值映射数组 ke y_arrow[5][5]表示所有键盘按键值:Key_arrow[5][5]={{0,O,O,O,0,0},{0,'7', '8','9','A'},{0,'4','5','6','B'},{0,'1','2','3', 'C'},{0,'D','O','.','E'}},则按键值就为 key_arrow[i][j].初始化 时行列号均为 0,因此当小键盘无键按下时,返回按键值为 0(即字符 NULL). 需要注意的是,要保证驱动正常工作,设置好行列线的输入输出模式后,需要一定时间延时 以后才能开始进行行(列)查询.这是因为行列线进行输入输出模式切换时存在硬件延迟.
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
叶罗丽精灵梦小游戏有吗? 女孩爱玩化妆换衣服的游戏 洋娃娃类似的游戏推荐 女生换装小游戏有哪些 哪一个换装游戏是古代的宫廷小花仙 女生换装小游戏有哪些 有没有比较好玩的纯古风换装单机游戏啊 父母走了,如何怀念? 如何在失去亲人后怀念他们呢? 父亲过世,如何怀念 U盘损坏数据恢复的有效方法使用专业工具和技巧来恢复U盘中的损坏... ...格式化的U盘中的数据文件简单有效的数据恢复方法和注意事项_百度知 ... 手机格式化恢复技巧教你简单有效地恢复误格式化的手机数据 氧气2.5%、氮气94.4%、乙炔3.1%的混合气体会爆炸吗? 氮中氧气体是危险品吗? 空调散发出死老鼠臭味怎么回事 炼铁厂氮气和空压机产生的氧气混合到一起能引起爆炸吗? ...死老鼠,估计死了2个多月了,风干了,有臭味。近期一直在用空调吹... 刘婷婷印的篆刻可怎么写? 周人纪一九简介 谁知道关于沈国的历史史实.(晋灭沈的战争)请发给我越多越好,谢谢... 沈国的夏朝侯国 郭晓冬的妻子程莉莎如今已经43岁了,状态如何? 品德风尚瓷砖质量好不好 京东品德风尚是正品吗 10.11.13.16.15.17用大于号怎么排列? 购买大众货运公司0.6吨的小货车,需注意些什么?本人第一次买二手车,急... 从家宁花园去沈阳六院坐几路公交车直达? 南宁市东葛葛村路口到石柱岭二路2号搭公交车 石老人到宁花路坐几路公交车能到? 谁的爱太疯是什么歌 ...的食品添加剂.为检验某食品中亚硫酸盐含量(通常以1kg样品中含SO2的... 来大神教我一个学习方法 简述Linux在嵌入式系统市场上取得辉煌的成果的原因。 minigui怎样实现底层引擎 100m短跑前30m如何降低重心 ...手机2放别人的移动卡可以有信号打电话和使用wifi 在家使用自己的卡无... 济公游记收徒弟有什么道理 活佛济公:人不能太贪心,太过贪心早晚都会失败的,人生哲理啊_百度... 据说济公要喝酒吃肉。是这样的吗?他说过“酒肉穿肠过 佛祖心中留 世人... 魔兽世界BL53猎人去哪做任务快 魔兽世界部落猎人53去哪做任务升级啊? 魔兽世界53级巨魔猎人去哪做任务升级快? WOW 53级FS去哪个FB(自强) 去哪里任务? 微波炉内部冒烟是什么原因 哈曼卡顿音乐魔力one下架了吗 ...当初承诺365天只换不修,现在用了一个月,坏了一只,但商品已下架... 三星S7SIM卡拿下来电话为什么还可以打进来 华夏公司保险退保提示系统升级是什么原因 华夏财富宝养老年金五年到期怎么退,我可以到当时办理的银行办理 华夏财富宝(稳赢版)两全保险需要注意哪些陷阱? 求助,请问这种化学键的加粗,在chemdraw中怎么花 巩义青龙山爬山台阶很长吗