切换案例时if语句在true时不起作用

时间:2015-07-14 19:04:52

标签: if-statement arduino switch-statement

我正在使用一个带有if语句的开关盒来帮助触摸屏触摸

以下代码返回true通过串行终端确认触摸坐标将值页面在代码开头设置为0,直到主屏幕加载然后切换到1(再次由串行终端确认)但即使我有确认一切都是真的它不会运行真实事件(目前只是一个串行打印命令。

int page = 0;     // page number active

这是包含

的代码的顶部

然后在主循环中

     switch (page) {

     // --------------check to see if screen 1 is loaded-----------------

  case '2': {  // Screen 1 Active As when screen 1 loads it chages the value of page to 1
    if ((p.x > 137 && p.x < 210)&& (p.y > 280 && p.y < 320)) 
   Serial.print("option1");       

   else if ((p.x > 80 && p.x < 112)&& (p.y > 280 && p.y < 320)) 
   Serial.print("option1.2");

      else if ((p.x > 45 && p.x < 85)&& (p.y > 280 && p.y < 320)) 
   Serial.print("option1.3");

      else if ((p.x > 5 && p.x < 24)&& (p.y > 280 && p.y < 320)) 
   Serial.print("option1.4");
 break;}

主屏幕在设置后加载并将页面转换为值1

void mainmenu(){
  page = 1;
  Serial.print("Initializing SD card...");
  if (!SD.begin(SD_CS)) {
    Serial.println("failed!");
  }
  Serial.println("OK!");
  tft.fillScreen(BLACK);

  Title();
  Grid();
  Buttons();
  {

按下按钮1后从串行终端返回的值

p.x is more than 137
p.x is less than 210
p.y is more than 280
p.x is less than 320
 X 196 & Y 310  Page Value= 1

但仍然没有消息Serial.print(&#34; option1&#34;)

我将if语句分解为单独的值,每个都返回true 所以我只能想到它在案例中的一些东西,但我不确定是什么

1 个答案:

答案 0 :(得分:1)

您是否尝试更改此行

case '2': { 

有这个吗?

case 2: { 

还尝试将println放在大小写之后,以确保switch语句正常工作

case 2: { 
          Serial.println("Entered in case 2");