Elm*_*mer 5 c c++ embedded arduino
我正在尝试启动并运行一个小型BMP085气压计项目.我希望能够在不同的操作模式(MODE_PRESSURE和MODE_ALT)之间切换.我有MODE_PRESSURE
并MODE_ALT
定义为const int
.
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;
}
}
Run Code Online (Sandbox Code Playgroud)
按下模式按钮时,我想切换当前模式.但我被困在了if(mode == MODE_PRESSURE)
.这句话莫名其妙地从未评估为真......?
我不是很流利C,有什么我想念的吗?我可以不比较const int
和int
变量吗?
PS:我也尝试#define
过MODE_PRESSURE和MODE_ALT const byte
,但似乎没什么用.
添加else
如下:
if(mode == MODE_PRESSURE)
mode = MODE_ALT;
else if(mode == MODE_ALT) # although not need but keep if here also
mode = MODE_PRESSURE;
Run Code Online (Sandbox Code Playgroud)
您还可以使用嵌套开关:
switch(mode){
case MODE_PRESSURE: mode = MODE_ALT;
break;
case MODE_ALT: mode = MODE_PRESSURE;
break;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
165 次 |
最近记录: |