1
我有這樣的C代碼,並且無論是如果或當我通過它與調試器爲什麼這個if語句不運行?
這裏其他模塊運行的代碼是:
if(P2IN & BIT4 == BIT4){
car_lock ^= BIT0;
is_pressed = 1;
}else{
is_pressed = 0;
}
在代碼中的這一點上,P2IN = 00010000
好像沒有if或else塊在運行,我在想什麼?
顯然,兩個塊之一必須運行。嘗試在它們中的每一箇中插入一個'abort()'(或者你的本地等價物),看看哪一個會讓程序死掉。如果兩者都不是,那麼該程序不會執行您發佈的任何代碼。 –
'if(P2IN&BIT4 == BIT4){' - >'if((P2IN&BIT4)== BIT4){' – BLUEPIXY
'有沒有任何機會'is_pressed = 0'由於下面的代碼變得毫無意義?編譯器可以優化它,但調試器仍然會顯示完整的代碼,而您正在逐步完成它。 – giusti