我的代碼有這樣的事情:變量總是返回false
double TMR_HV ;
....
TMR_HV =2.0; // in another part of my code
void RTKAPI Tempos10(void * p) // task for timers
{
while(1) {
if (TMR_HV > 0.00) TMR_HV -= 0.01;
else TMR_HV = 0.00;
RTKDelay(1);
}
}
條件if
永遠是假的。誰能幫我這個?
變量,如在貼代碼看出,未初始化。它是否在其他地方初始化?如果沒有,它的價值可以是任何東西。 –
也許TMR_HV是NaN或+ Inf – john
該變量是全局變量,它初始化爲0.0,當我們在計時器上放置一箇中斷點時,初始值爲0.0,並且它運行已預期。當變量得到一個大於0.0的值時,它開始減少並永不停止。它變爲負值。 –