|
hebecoco
初级用户
积分 63
发帖 25
注册 2006-12-24
状态 离线
|
『第
16 楼』:
dear zly910:
你好!
感谢你提供的宝贵资料!
我有将你这段代码进行编译和运行,可以抓到那几个键而且有相应的响应,因本人知识的贫乏对中断还不是很懂,所以有几个问题还要请教下
http://www.computer-engineering.org/ps2keyboard/scancodes1.html
你应该有看过,对于一般的按键makecode和breakcode都只有1个字节,读出来的值是正常的,但是有很多有2个字节的,比如说播放键是EO,22和E0,2A,但是这里只能抓出2个E0来,也就是说只能取出他们的前面一个字节,是否可以改成抓出2个字节的,因为我不知道你用中断是如何实现的,还请你指点一下.
|
|
2006-12-27 03:00 |
|
|
hebecoco
初级用户
积分 63
发帖 25
注册 2006-12-24
状态 离线
|
『第
17 楼』:
我有试过将char换成int,将inportb(0x60)换成inport(0x60),效果还是一样
|
|
2006-12-27 03:49 |
|
|
hebecoco
初级用户
积分 63
发帖 25
注册 2006-12-24
状态 离线
|
|
2006-12-27 05:20 |
|
|
AlwaysInherit
初级用户
征(武林高手||搞安全 ..
积分 112
发帖 46
注册 2005-9-28
状态 离线
|
|
2006-12-27 06:13 |
|
|
hebecoco
初级用户
积分 63
发帖 25
注册 2006-12-24
状态 离线
|
『第
20 楼』:
谢谢,在study中.
还想问下zly910,你那段代码中加入的那2行汇编是起什么作用?
如果有看到,麻烦解答下,谢谢
有知道的大虾也帮看下
|
|
2006-12-27 06:27 |
|
|
AlwaysInherit
初级用户
征(武林高手||搞安全 ..
积分 112
发帖 46
注册 2005-9-28
状态 离线
|
『第
21 楼』:
disable interrupt -> 避免被其他发生的interrupt切换走 , 应该是避免跟ISRs race
|
|
2006-12-27 06:44 |
|
|
hebecoco
初级用户
积分 63
发帖 25
注册 2006-12-24
状态 离线
|
『第
22 楼』:
问题解决了,读2次0X60,因为中断程序没次只能是读1个字节,就算是换成inport()也是没用的,象那些有2个字节的键,会先进去高位,一般高位都是E0,然后再进去低,如果没有新的中断近来,低位会一直驻留在0X60的PORT中!!
很高兴问题解决,感谢AlwaysInherit和zly910的顶立支持,感谢CCTV,感谢ChinaV!!
|
|
2006-12-27 08:44 |
|
|
hebecoco
初级用户
积分 63
发帖 25
注册 2006-12-24
状态 离线
|
|
2007-3-23 04:57 |
|
|