ps2.doc

来自「PS2键盘输入的源程序。包括数据的读取与检验」· DOC 代码 · 共 28 行

DOC
28
字号
void __irq IRQ_Eint0 (void)
{	n++;
	keybuffer[j]>>=1;
if(IO0PIN&DATA)keybuffer[j]|=0x8000;  //读数据,为1则最高位置1.	
if(n==11) //接收起始位,八位数据,奇校验位,停止位,
{   n=0;
	keybuffer[j]>>=6;
	keybuffer[j]&=0x00ff;
	num++;
	if(keybuffer[(j+41)%42]==0xf0&&keybuffer[(j+13)%15]!=0xe0)
	        {keyflag=1;keyvalue=keybuffer[j];}
	 else if(keybuffer[(j+14)%15]==0xf0&&keybuffer[(j+13)%15]==0xe0)
	            {keyflag=-1;keyvalue=keybuffer[j];}
	       j++;
	if(j==42)j=0;
	}	
	if(keyflag==1)
	  {  keyflag=0;
	     keyprocess1(keyvalue);
	     keyvalue=0;	}
	if(keyflag==-1);
	    { keyflag=0;
	      keyprocess2(keyvalue);
	      keyvalue=0;	}
   EXTINT = 0x01;	                /* 清除EINT0中断标志		*/
	VICVectAddr = 0;				/* 向量中断结束				*/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?