📄 ps2.doc
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -