我想要一個小的BMP085晴雨表項目啓動和運行。我希望能夠在不同的操作模式(MODE_PRESSURE和MODE_ALT)之間切換。我有MODE_PRESSURE
和MODE_ALT
定義爲const int
。Arduino:如果比較參數
const int MODE_PRESSURE = 1; // display pressure and temp
const int MODE_ALT = 2; // display altitude relative to sea level
int mode; // stores the current mode
void setup {
mode = MODE_PRESSURE;
}
void loop {
// Read mode button and set mode accordingly
int buttonPressed = readButtons();
switch(buttonPressed) {
case BTN_MODE:
if(mode == MODE_PRESSURE) { mode = MODE_ALT; }
if(mode == MODE_ALT) { mode = MODE_PRESSURE; }
Serial.println(mode); // <<-- always prints 1 ?!
break;
}
}
當按下模式按鈕時,我想切換當前模式。但我卡在if(mode == MODE_PRESSURE)
。這種說法莫名其妙地從來沒有評估爲真......?
我不是很流利的C,有什麼我失蹤?我能否比較const int
和int
變量?
P.S .:我也嘗試#define
MODE_PRESSURE和MODE_ALT,和const byte
,但似乎沒有任何工作。
Aaahhhhgggrr,當然。我一定是在睡覺!謝謝,今晚將再次在家時試試。 – Elmer
@Elmer考慮一下,如果你已經把if語句的主體放在它自己的一行上,並且適當的縮進,你是否會寫這個bug。 – Lundin
@Lundin我以前在其中有多行,但嘗試了各種各樣的東西。這只是那些睡眠有所幫助的日子(夜晚)之一。一個好,你贏了一些,你鬆了一些:) – Elmer