0
我只希望我的count_float重置爲0時Alarm_Status.bits.b3沒有設置,當leakDetected = 0。然而,它似乎從來沒有重置出於某種原因。當警報關閉時,我把leakDetected設置爲1,所以計數器不能被重置。但是,如果警報響起2秒鐘,然後被禁用它再次持有2.此計數應該重置爲0計數器問題(C程序)
{
int count_float
int fixedCount = 50;
short leakDetected=0;
BS(TRISB,7); // Bund sw port=input.
DelayMs(2); // will rise is bund SW open
if(RB7){
if(Control.bits.BUND_ENABLE){ // if bund alarm enabled
if(Alarm_Status.bits.b3){ // if already set
count_float +=10; //count increased by 10
if(count_float == fixedCount) {
leakDetected=1;
DU_Reason.bits.EmergencyDialIn=1;// alarm!
}
}
if((!Alarm_Status.bits.b3)&&(!leakDetected)){
count_float=0;
}
}
} else {
Alarm_Status.bits.b3=1; // Bund Sw Closed
BC(TRISB,7);
}
}
正如你的問題相同_essence_,答覆是你需要在'int count_float'之後有';'。 –
對不起,它沒有複製出於某種原因 – AutoCad1990
哪裏leakDetected設置爲零? –