sunshine_fl
驱动牛犊
驱动牛犊
  • 注册日期2002-08-22
  • 最后登录2005-09-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:4813回复:22

按键驱动

楼主#
更多 发布于:2005-05-27 13:08

我想用支持中断的GPIO来实现几个按键的功能,该如何编写程序,请大家给我点意见,谢谢了 开发平台是PXA255

或者大家还有别的方法吗?
clint
驱动牛犊
驱动牛犊
  • 注册日期2007-03-29
  • 最后登录2007-03-29
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-03-29 20:51
关注中......
cygarm
驱动牛犊
驱动牛犊
  • 注册日期2006-11-29
  • 最后登录2013-12-29
  • 粉丝0
  • 关注0
  • 积分649分
  • 威望324点
  • 贡献值0点
  • 好评度62点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-02-05 05:07
大家好,我现在也在做类似的事情,在s3c2440 wince4.2的环境下做一个按键驱动,上,下,左,右,确定,放大,缩小这些功能,多多探讨哈。
NAND Flash烧录器|烧写器|编程器
dreamzqw
驱动牛犊
驱动牛犊
  • 注册日期2004-11-25
  • 最后登录2019-04-08
  • 粉丝1
  • 关注0
  • 积分19分
  • 威望182点
  • 贡献值0点
  • 好评度55点
  • 原创分1分
  • 专家分2分
地板#
发布于:2007-01-30 08:59
前几天上不了网,不好意思,数字键没有出来,又上网找了点资料,说字母要用大写,小写的没用,可是我用了大写也不可以,数字键我想了一下,或许是num Lock没有打开,可是我模拟了一个Num Lock键后,打开Num Lock后再按数字键也不可以,大家继续研究呀,把这个问题搞出来呀.
zhoumc
驱动牛犊
驱动牛犊
  • 注册日期2006-07-13
  • 最后登录2008-11-25
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望88点
  • 贡献值0点
  • 好评度80点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-01-24 23:17
数字键出来了没有?,至于原理,需要你自已去探究了
dreamzqw
驱动牛犊
驱动牛犊
  • 注册日期2004-11-25
  • 最后登录2019-04-08
  • 粉丝1
  • 关注0
  • 积分19分
  • 威望182点
  • 贡献值0点
  • 好评度55点
  • 原创分1分
  • 专家分2分
5楼#
发布于:2007-01-24 20:53
那为什么控制键,(如回车键)可以用任意的一个扫描码呢??
zhoumc
驱动牛犊
驱动牛犊
  • 注册日期2006-07-13
  • 最后登录2008-11-25
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望88点
  • 贡献值0点
  • 好评度80点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-01-24 19:48
扫描码要用标准的,你可以到MSDN文档中去查,用文档中标出的扫描码肯定可以了,goodluck!
dreamzqw
驱动牛犊
驱动牛犊
  • 注册日期2004-11-25
  • 最后登录2019-04-08
  • 粉丝1
  • 关注0
  • 积分19分
  • 威望182点
  • 贡献值0点
  • 好评度55点
  • 原创分1分
  • 专家分2分
7楼#
发布于:2007-01-24 18:46
数字键我也试了,在CE下打开WordPad,按数字键,在WordPad中没有对应的数字出来.
我是转换成CE  Help文档中的虚拟键的呀,只是扫描码就是我自己定的了,不过都不一样.
在WordPad中,只有按回车键可以看到光往下移了.
多谢zhoumc大哥的回贴.
zhoumc
驱动牛犊
驱动牛犊
  • 注册日期2006-07-13
  • 最后登录2008-11-25
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望88点
  • 贡献值0点
  • 好评度80点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2007-01-24 16:34
注意不光是要发送虚拟键值,还是填对应的扫描码
zhoumc
驱动牛犊
驱动牛犊
  • 注册日期2006-07-13
  • 最后登录2008-11-25
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望88点
  • 贡献值0点
  • 好评度80点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2007-01-24 15:13
可以发送数字键,我试过!查查你的OS系统的SDK中的虚拟键值定义表,然后按表中的值发送即可,绝对可以。
dreamzqw
驱动牛犊
驱动牛犊
  • 注册日期2004-11-25
  • 最后登录2019-04-08
  • 粉丝1
  • 关注0
  • 积分19分
  • 威望182点
  • 贡献值0点
  • 好评度55点
  • 原创分1分
  • 专家分2分
10楼#
发布于:2007-01-24 14:54
wxl_50685330说得对,针对楼主的需求,可以进行简单实现,不需要做成标准的键盘驱动。而且用keybd_event函数发送虚拟键值,OS会自动地将虚拟键值发送到当前焦点窗口中。
可是keybd_event好像不能发送ASCII和数字键呀,请问zhoumc大哥,ASCII和数字键要怎么处理呀.
zhoumc
驱动牛犊
驱动牛犊
  • 注册日期2006-07-13
  • 最后登录2008-11-25
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望88点
  • 贡献值0点
  • 好评度80点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2007-01-22 14:38
wxl_50685330说得对,针对楼主的需求,可以进行简单实现,不需要做成标准的键盘驱动。而且用keybd_event函数发送虚拟键值,OS会自动地将虚拟键值发送到当前焦点窗口中。
wince_lover
驱动中牛
驱动中牛
  • 注册日期2007-01-10
  • 最后登录2010-12-20
  • 粉丝0
  • 关注0
  • 积分1103分
  • 威望735点
  • 贡献值2点
  • 好评度279点
  • 原创分1分
  • 专家分0分
12楼#
发布于:2007-01-22 13:42
关注中
xiyulang
驱动牛犊
驱动牛犊
  • 注册日期2005-09-06
  • 最后登录2010-07-22
  • 粉丝1
  • 关注0
  • 积分7分
  • 威望111点
  • 贡献值0点
  • 好评度64点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2007-01-04 09:14
我现在通过GPIO和中断基本已经实现了按键功能,但是获取窗口中的项目的句柄还是有点问题,没法像标准键盘一样(比如选中项目后按上下左右键实现移动),现在只能往上层发消息,上层程序自己做处理捕捉消息,关键是怎么获取窗口当前操作项的句柄,这样就可以实现跟标准键盘一样的功能。各位有什么建议?
renlongxiang
驱动牛犊
驱动牛犊
  • 注册日期2005-07-15
  • 最后登录2005-10-19
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2005-08-04 09:55
楼主,我现在做的工作与你类似,你的问题解决了吗?希望多交流一下,我QQ42822776
zxl_95
驱动牛犊
驱动牛犊
  • 注册日期2005-03-07
  • 最后登录2005-09-05
  • 粉丝0
  • 关注0
  • 积分33分
  • 威望5点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2005-07-21 17:03
楼主太激动了吧,语无伦次
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2005-07-21 13:47
下面是引用scatzr于2005-07-21 10:47发表的:
说了和没有说一个样,那位大侠做了麻烦将操作步骤说一遍。
做了才知道根本不是你们说那回事!!!
kaokaokaokao



通过你的实践证明我们说的哪里不对呢?

“做了才知道根本不是你们说那回事!!!”

我不知道这句话从何说起


有什么意见你可以继续提出来,不过我觉得你最好把自己的语言组织一下,谢谢。
根据地的兄弟们,团结就是力量
scatzr
驱动牛犊
驱动牛犊
  • 注册日期2005-07-15
  • 最后登录2005-08-09
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2005-07-21 10:47
说了和没有说一个样,那位大侠做了麻烦将操作步骤说一遍。
做了才知道根本不是你们说那回事!!!
kaokaokaokao
wxl_50685330
论坛版主
论坛版主
  • 注册日期2002-11-19
  • 最后登录2018-09-25
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望521点
  • 贡献值0点
  • 好评度419点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2005-05-31 11:11
这个你需要先确定一下你的需求,如果你不需要标准的键盘,按键只是为某个或某几个特别的应用使用,你完全可以自己管理按键:写按键的isr->然后在ist里面读键值->让应用根据键值工作。这样做好处是完全可以不管ce的键盘驱动模型,自由度大。缺点是这样的按键驱动不能纳入系统管理,按键的值不能通过上层消息机制传递到任意进程。你可以权衡一下。
根据地的兄弟们,团结就是力量
sunshine_fl
驱动牛犊
驱动牛犊
  • 注册日期2002-08-22
  • 最后登录2005-09-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2005-05-31 08:56
如果我只想实现上下左右 确认 取消等几个键
我该怎么做?
键盘驱动需要编写吗?
我只写相应的GPIO中断响应函数可以吗?
上一页
游客

返回顶部