2015-06-04 36 views
0

我一直在使用这个简单的程序试图解决这个错误的方式太长。我正在使用Arduino,我只是想制作一个简单的温度监视器来打开和关闭一些开关。我一直收到错误“功能定义在此之前不允许'{'标记。”如果有人比我知道的更多,并且能够帮助我,那会很棒!函数定义在这里是不允许的'{'token

float temp; 

void setup(){ 
    pinMode(13, OUTPUT); 
    pinMode(8, OUTPUT); 
    pinMode(9, OUTPUT); 
    pinMode(10, OUTPUT); 
    pinMode(11, OUTPUT); 
    pinMode(7, INPUT); 
    pinMode(0, INPUT); 
    Serial.begin(9600); 
} 

void highHeat(){ 
      temp = analogRead(0); 
      temp = (5.0*temp*100.0/1024.0); 
      if (temp > 79) 
       { 
       digitalWrite(8, LOW); 
       digitalWrite(9, LOW); 
       digitalWrite(10, LOW); 
       digitalWrite(11, LOW); 
       digitalWrite(13, LOW); 
       } 

      if (temp < 78) 
       { 
       digitalWrite(8, HIGH); 
       digitalWrite(9, HIGH); 
       digitalWrite(10, HIGH); 
       digitalWrite(11, HIGH); 
       digitalWrite(13, HIGH); 
       } 
      delay(10000); 
} 

void lowHeat(){ 
      temp = analogRead(0); 
      temp = (5.0*temp*100.0/1024.0); 
      if (temp > 26) 
       { 
       digitalWrite(8, LOW); 
       digitalWrite(9, LOW); 
       digitalWrite(10, LOW); 
       digitalWrite(11, LOW); 
       digitalWrite(13, LOW); 
       } 

      if (temp < 25) 
       { 
       digitalWrite(8, HIGH); 
       digitalWrite(9, HIGH); 
       digitalWrite(10, HIGH); 
       digitalWrite(11, HIGH); 
       digitalWrite(13, HIGH); 
       } 
      delay(10000); 
} 

void loop(){ 
    if (6 == HIGH) 
    { 
     delay(2000); 
     if (6 == HIGH) 
     { 
      digitalWrite(13, HIGH); 
      delay(500); 
      digitalWrite(13, LOW); 
      delay(500); 
      digitalWrite(13, HIGH); 
      delay(500); 
      digitalWrite(13, LOW); 
      delay(500); 
      digitalWrite(13, HIGH); 
      delay(500); 
      digitalWrite(13, LOW); 
      delay(500); 
      digitalWrite(13, HIGH); 
      delay(500); 
      digitalWrite(13, LOW); 
      void loop(){ 
      lowHeat(); 
      } 
     } 

     if (6 == LOW) 
     { 
      digitalWrite(13, HIGH); 
      delay(500); 
      digitalWrite(13, LOW); 
      delay(500); 
      digitalWrite(13, HIGH); 
      delay(500); 
      digitalWrite(13, LOW); 
      void loop(){ 
      highHeat(); 
      } 
     } 
    } 
} 

P.S.我做了一些搜索,发现很多帖子都是相同的标题,但他们似乎从来没有与我的问题有关,所以我只是想我会寻求一些帮助。

回答

2

您有:

 digitalWrite(13, LOW); 
     void loop(){ 
     lowHeat(); 
     } 

编译器抱怨void loop()那里。你不能在另一个中间定义一个函数。

+0

是的,你可能想要一个'while'循环来代替。 – Huey

+0

谢谢,当我回家时我会尝试。 – user2532869