大家帮我看看能否用该数组记录两次密码值。。。运行有问题。。
[复制链接]
//键盘输入 #pragma vector=PORT1_VECTOR __interrupt void keypush(void) { unsigned char pushkey; pushkey=P1IFG&(BIT1+BIT2+BIT3+BIT4); delay(20); if((P1IN&pushkey)==pushkey) { P1IFG=0; return; } if(pushkey&BIT1) { flag=1; //开始键按下标志,sign=0表示第一位密码输入 LED6ON; LED0OFF; P1IFG=0; return; } if(pushkey&BIT2) { delay(20); if(flag==1) { p++; flag=0; //结束键按下标志,结束键按下后,因flag值变化,输入点画此刻无效,知道再次开始输入第二个密码,flag变为有效值,可以继续检测 sign^=1; LED0ON; LED6OFF; if(p==2) { p=0; a='\0'; b[j]='\0'; identify(); TACTL=MC_1+TACLR; waveout(code); waveout(code2); LED5ON; P1IFG=0; return; } } } if(pushkey&BIT3) { delay(20); if(flag==1) { if(sign==0) { a[i++]=0; } else if(sign==1) { b[j++]=0; } } } if(pushkey&BIT4) { delay(20); if(flag==1) { if(sign==0) { a[i++]=1; } else if(sign==1) { b[j++]=1; } } } P1IFG=0; return; }
|