阅读:1373回复:5
关于USB的基础,大家帮帮我?
平台:PC机,DOS操作系统
关于PC机芯片组里面的USB Controller与USB keyboard通信的原理 大家来谈谈, 我说说:我了解的和我的疑问 1:当有键被按下时,芯片组会产生系统中断smi,然后中断程序将USB keyboard的数据转换成扫描码,然后下64端口命令D2,并将扫描码 写到60端口,之后8042MCU会去处理,产生IRQ1和扫描码,对于系统来讲,都一样了, 2:我的问题是: A:键盘的数据是:在键按下时就自动传到了memory中,还是程序去读进来的. B:如果是自动传到了memory中,那程序又到memory那个位址去读呢? 另外有个问题: 我用工具看到:键盘不工作时,frame counter也一直在计数,controller并不是在halt的状态,为啥?这样的原理,我不懂, 那位讲讲? |
|
|
沙发#
发布于:2002-08-16 14:54
问题解答:
A:键盘的数据是:在键按下时就自动传到了memory中,还是程序去读进来的. Re: 键盘数据是DOS操作系统预先与键盘中通讯得到键值后存放在c操作系统的键值缓冲区中,应用程序是从键值缓冲区中得到键值的。 B:如果是自动传到了memory中,那程序又到memory那个位址去读呢? Re: 键值缓冲区是一个操作系统管理的,应用程序不需直接操作此内存。 |
|
|
板凳#
发布于:2002-08-16 15:08
噢,刚才这位没有明白我的意思,
谢谢你! |
|
|
地板#
发布于:2002-08-16 16:36
你错了按下一个键并不产生中断,而是主机通过论寻得之有无键按下
|
|
地下室#
发布于:2002-08-16 16:46
噢,在DOS下一定有的,我确定
|
|
|
5楼#
发布于:2002-08-16 16:53
知道的,给点提示吧,
|
|
|