阅读:5016回复:22
按键驱动我想用支持中断的GPIO来实现几个按键的功能,该如何编写程序,请大家给我点意见,谢谢了 开发平台是PXA255 或者大家还有别的方法吗? |
|
论坛版主
|
沙发#
发布于:2005-05-27 13:51
没什么特别的你可以找一个键盘驱动的例子,比如在BSP里面或COMMON\\\\OAK\\\\DRIVERS或CSP里面,把底层从硬件获得扫描码部分的代码全部换成你的就可以了,上面MDD都不动,不过你可能先要看看帮助,因为键盘的物理连接方式较多,CE也为每种不同连接给出了相应的框架,你的应该是MATRIX键盘。
|
|
板凳#
发布于:2005-05-30 13:15
谢谢老大帮助,
小弟看的不是很明白,大家有没有这方面的资料呢 |
|
论坛版主
|
地板#
发布于:2005-05-30 14:11
先仔细看pb带的帮助中键盘驱动的主题,然后看看实际的代码,代码你可以看你的pb的platform里面,最好找wince.net 4.2的pb,里面的platform里有三星smdk2410的bsp,你可以参考这里的键盘驱动,我觉得刚开始弄比较好看懂。
|
|
地下室#
发布于:2005-05-31 08:56
如果我只想实现上下左右 确认 取消等几个键
我该怎么做? 键盘驱动需要编写吗? 我只写相应的GPIO中断响应函数可以吗? |
|
论坛版主
|
5楼#
发布于:2005-05-31 11:11
这个你需要先确定一下你的需求,如果你不需要标准的键盘,按键只是为某个或某几个特别的应用使用,你完全可以自己管理按键:写按键的isr->然后在ist里面读键值->让应用根据键值工作。这样做好处是完全可以不管ce的键盘驱动模型,自由度大。缺点是这样的按键驱动不能纳入系统管理,按键的值不能通过上层消息机制传递到任意进程。你可以权衡一下。
|
|
6楼#
发布于:2005-07-21 10:47
说了和没有说一个样,那位大侠做了麻烦将操作步骤说一遍。
做了才知道根本不是你们说那回事!!! kaokaokaokao |
|
论坛版主
|
7楼#
发布于:2005-07-21 13:47
下面是引用scatzr于2005-07-21 10:47发表的: 通过你的实践证明我们说的哪里不对呢? “做了才知道根本不是你们说那回事!!!” 我不知道这句话从何说起 有什么意见你可以继续提出来,不过我觉得你最好把自己的语言组织一下,谢谢。 |
|
8楼#
发布于:2005-07-21 17:03
楼主太激动了吧,语无伦次
|
|
9楼#
发布于:2005-08-04 09:55
楼主,我现在做的工作与你类似,你的问题解决了吗?希望多交流一下,我QQ42822776
|
|
10楼#
发布于:2007-01-04 09:14
我现在通过GPIO和中断基本已经实现了按键功能,但是获取窗口中的项目的句柄还是有点问题,没法像标准键盘一样(比如选中项目后按上下左右键实现移动),现在只能往上层发消息,上层程序自己做处理捕捉消息,关键是怎么获取窗口当前操作项的句柄,这样就可以实现跟标准键盘一样的功能。各位有什么建议?
|
|
11楼#
发布于:2007-01-22 13:42
关注中
|
|
12楼#
发布于:2007-01-22 14:38
wxl_50685330说得对,针对楼主的需求,可以进行简单实现,不需要做成标准的键盘驱动。而且用keybd_event函数发送虚拟键值,OS会自动地将虚拟键值发送到当前焦点窗口中。
|
|
13楼#
发布于:2007-01-24 14:54
wxl_50685330说得对,针对楼主的需求,可以进行简单实现,不需要做成标准的键盘驱动。而且用keybd_event函数发送虚拟键值,OS会自动地将虚拟键值发送到当前焦点窗口中。
可是keybd_event好像不能发送ASCII和数字键呀,请问zhoumc大哥,ASCII和数字键要怎么处理呀. |
|
14楼#
发布于:2007-01-24 15:13
可以发送数字键,我试过!查查你的OS系统的SDK中的虚拟键值定义表,然后按表中的值发送即可,绝对可以。
|
|
15楼#
发布于:2007-01-24 16:34
注意不光是要发送虚拟键值,还是填对应的扫描码
|
|
16楼#
发布于:2007-01-24 18:46
数字键我也试了,在CE下打开WordPad,按数字键,在WordPad中没有对应的数字出来.
我是转换成CE Help文档中的虚拟键的呀,只是扫描码就是我自己定的了,不过都不一样. 在WordPad中,只有按回车键可以看到光往下移了. 多谢zhoumc大哥的回贴. |
|
17楼#
发布于:2007-01-24 19:48
扫描码要用标准的,你可以到MSDN文档中去查,用文档中标出的扫描码肯定可以了,goodluck!
|
|
18楼#
发布于:2007-01-24 20:53
那为什么控制键,(如回车键)可以用任意的一个扫描码呢??
|
|
19楼#
发布于:2007-01-24 23:17
数字键出来了没有?,至于原理,需要你自已去探究了
|
|
上一页
下一页