|
void saomiao(){
hc[1]=hc[0];//上次掃描的結(jié)果
hc[0]=0xff;//本次掃描
if(A==0)hc[0]&=0xfe;11111110
if(B==0)hc[0]&=0xfd;11111101
}
u8 countAB=0;//A-B的計(jì)數(shù)
A觸發(fā)接著B(niǎo)觸發(fā),輸出1
B觸發(fā)接著A觸發(fā),輸出0
如下函數(shù)怎么實(shí)現(xiàn)這樣的功能
u8 countBA=0;//B-A的計(jì)數(shù)
void main(){
while(1){
saomiao();
if(hc[1]==0xfe){//上次只有A有信號(hào)
if((hc[0]==0xfd)||(hc[0]==0xfc)){//這次B有信號(hào)
countAB++;
}
}
if(hc[1]==0xfd){//上次只有B有信號(hào)
if((hc[0]==0xfe)||(hc[0]==0xfc)){//這次A有信號(hào)
countBA++;
}
}
OUT=((countAB==countBA)?0:1);//相等時(shí)輸出0,不相等時(shí)輸出1
}
}
|
|