能力值:
( LV2,RANK:10 )
|
-
-
2 楼
有头有尾。应该是这样
////////////////////////////////
从64读出来是状态,状态如下:
Bit7: PARITY-EVEN(P_E): 从键盘获得的数据奇偶校验错误
Bit6: RCV-TMOUT(R_T): 接收超时,置1
Bit5: TRANS_TMOUT(T_T): 发送超时,置1
Bit4: KYBD_INH(K_I): 为1,键盘没有被禁止。为0,键盘被禁止。
Bit3: CMD_DATA(C_D): 为1,输入缓冲器中的内容为命令,为0,输入缓冲器中的内容为数据。
Bit2: SYS_FLAG(S_F): 系统标志,加电启动置0,自检通过后置1
Bit1: INPUT_BUF_FULL(I_B_F): 输入缓冲器满置1,i8042 取走后置0
BitO: OUT_BUF_FULL(O_B_F): 输出缓冲器满置1,CPU读取后置0
//////////////////////////////////////////////
书上例子是
读取64PORT判断输入缓冲区是否有空闲
是,然后再读取64PORT判断输出缓冲区是否有空闲。
否,则从60读数据,一直读到 输出缓冲区有空闲
然后给60写命令(参数跟后)
///////////////////
那读60就是可以读8048发来的扫描码?可以根据这个判断按下了哪个字母?
|
|
|