各位大虾求救啊 我的PS2键盘,不能和主机通讯了,我用示波器查看我所发送的键码是对的,就不晓得发送子程序对不? 而且当我按键的时候,主机会出错误的警告,但当我按字母Z的时候,电脑里的记事本显示的是数字5 好像全乱了 ,大家帮我看看哦 多谢! 小弟着急啊! 发送字程序如下:
void Send_Data(uchar bite) { uchar i,tmp,senddata; uchar j; bit parity; parity=1; tmp=bite; senddata=bite; for(i=0;i<8;i++) //find the number 1 is odd or even { tmp=tmp&0x01; if(tmp==0x01) parity=!parity; tmp=_cror_(tmp,1); }
DAT=1; CLK=1; Delay40us(); Delay40us(); DAT=0; Delay40us(); CLK=0; Delay40us(); //send start bit 0 for(j=0;j<8;j++) //send data { CLK=1; if((senddata&0x01)==0) DAT=0; else DAT=1; senddata=_cror_(senddata,1); Delay40us(); CLK=0; Delay40us(); } CLK=1; //send parity Delay40us(); if(parity==1) DAT=1; else DAT=0;
CLK=0; Delay40us(); CLK=1; //send stop bit 1 DAT=1; Delay40us(); CLK=0; Delay40us(); CLK=1; DAT=1; } |