Выдаёт ошибку в if: expected unqualified-id before 'if'

Geo4xan
Offline
Зарегистрирован: 18.04.2019
#define max_char 12
const int RED=11; // вывод R RGB-светодиода 
const int GREEN=10; // вывод G RGB-светодиода 
const int BLUE=9; // вывод B RGB-светодиода 
int red; // переменная для хранения R-составляющей цвета 
int green; // переменная для хранения G-составляющей цвета 
int blue; // переменная для хранения B-составляющей цвета 
const int POT=A0; // вывод подключения потенциометра 
const int MIN_PAUSE=10; // минимальная задержка смены цвета, мс 
const int MAX_PAUSE=100; // максимальная задержка смены цвета, мс 
int pause; // переменная для хранения текущей задержки 
const int VIEW_PAUSE=20; // время фиксации основного цвета, мс 
int incomingByte = 0; // для хранения полученного байта 


void setup(){
 Serial.begin(9600);
  }
 

void loop()  
{}
 

 
 
                                                                                                                 

// функция установки цвета RGB-светодиода 
void setRGB(int r,int g,int b) { 
analogWrite(RED,r); 
analogWrite(GREEN,g); 
analogWrite(BLUE,b); 
delay(pause); 
} 
// функция установки текущей задержки 
void setpause() 
{
// от красного к желтому 
Serial.println("red - yellow"); 
red=255;green=0;blue=0; 
for(green=0;green<=255;green++) setRGB(red,green,blue); setpause(); delay(VIEW_PAUSE); // от желтому к зеленому Serial.println("yellow - green"); red=255;green=255;blue=0; for(red=255;red>=0;red--) 
setRGB(red,green,blue);{
 setpause();
delay(VIEW_PAUSE); 
// от зеленого к голубому 
Serial.println("green - blue"); 
red=0;green=255;blue=0; 
for(blue=0;blue<=255;blue++) setRGB(red,green,blue); setpause(); delay(VIEW_PAUSE); // от голубого к синему Serial.println("blue - blue"); red=0;green=255;blue=255; for(green=255;green>=0;green--) 
setRGB(red,green,blue); 
setpause(); 
delay(VIEW_PAUSE); 
// от синего к фиолетовому 
Serial.println("blue - purple"); 
red=0;green=0;blue=255; 
for(red=0;red<=255;red++) setRGB(red,green,blue); setpause(); delay(VIEW_PAUSE); // от фиолетового к красному Serial.println("purple - red"); red=255;green=0;blue=255; for(blue=0;blue>=0;blue--) 
setRGB(red,green,blue); 
setpause(); 
delay(VIEW_PAUSE); 
}
    



if (Serial.available() > 0)  //если есть доступные данные 
// считываем байт 
incomingByte = Serial.read(); 

// отсылаем то, что получили 
Serial.print("I received: "); 
Serial.println(incomingByte, DEC); 





 






                                                                                                                 
// от красного к желтому 
Serial.println("red - yellow"); 
red=255;green=0;blue=0; 
for(green=0;green<=255;green++) setRGB(red,green,blue); setpause(); delay(VIEW_PAUSE); // от желтому к зеленому Serial.println("yellow - green"); red=255;green=255;blue=0; for(red=255;red>=0;red--) 
setRGB(red,green,blue); 
setpause(); 
delay(VIEW_PAUSE); 
// от зеленого к голубому 
Serial.println("green - blue"); 
red=0;green=255;blue=0; 
for(blue=0;blue<=255;blue++) setRGB(red,green,blue); setpause(); delay(VIEW_PAUSE); // от голубого к синему Serial.println("blue - blue"); red=0;green=255;blue=255; for(green=255;green>=0;green--) 
setRGB(red,green,blue); 
setpause(); 
delay(VIEW_PAUSE); 
// от синего к фиолетовому 
Serial.println("blue - purple"); 
red=0;green=0;blue=255; 
for(red=0;red<=255;red++) setRGB(red,green,blue); setpause(); delay(VIEW_PAUSE); // от фиолетового к красному Serial.println("purple - red"); red=255;green=0;blue=255; for(blue=0;blue>=0;blue--) 
setRGB(red,green,blue); 
setpause(); 
delay(VIEW_PAUSE); 
} 
// функция установки цвета RGB-светодиода 

 
// функция установки текущей задержки 


if (Serial.available() > 0) { //если есть доступные данные 
// считываем байт 
incomingByte = Serial.read(); 
// отсылаем то, что получили 
Serial.print("I received: "); 
Serial.println(incomingByte, DEC); 
}


else { 

                                                                                  
  // запускаем последовательную коммуникацию на скорости 9600 бод:

 
  // цикл while() считывает сообщение:
  while(Serial.available() > 0){
    flag = 0;
    // в сообщении может быть не более 12 символов:
    if(index < (max_char-1)){        
      r_char = Serial.read();      // считываем символ
      message[index] = r_char;     // сохраняем символ в массиве
      if(r_char=='R'){
         currentColor = 'R';
         redTempValue = "";
      }
      else if(r_char=='G'){
         currentColor = 'G';
         greenTempValue = "";
      }
      else if(r_char=='B'){
         currentColor = 'B';
         blueTempValue = "";
      }
      if(currentColor == 'R' && r_char!='R'){
         redTempValue += r_char;
      }
      else if(currentColor == 'G' && r_char!='G'){
         greenTempValue += r_char;
      }
      else if(currentColor == 'B' && r_char!='B'){
         blueTempValue += r_char;
      }
      index++;                     // переходим на следующую позицию
      message[index] = '\0';       // удаляем последнюю позицию
   }
   
 }
 
 if(flag == 0){
   analogWrite(redPin, redTempValue.toInt());
   analogWrite(greenPin, greenTempValue.toInt());
   analogWrite(bluePin, blueTempValue.toInt());
   /*Serial.print('R');
   Serial.println(redTempValue);
   Serial.print('G');
   Serial.println(greenTempValue);
   Serial.print('B');
   Serial.println(blueTempValue);
   Serial.print("MESSAGE ");*/  //  "СООБЩЕНИЕ "
   Serial.println(message);
   flag=1;
       for(i=0; i<12; i++){
      message[i] = '\0';
    }
    // сбрасываем индекс
    index=0;  
 }
 
}
}
}
}
}

 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

закавычить {} попробуйте

Geo4xan
Offline
Зарегистрирован: 18.04.2019

Где? У нас закавычено

 

sadman41
Offline
Зарегистрирован: 19.10.2016

Ctrl-T нажимаете и визуально находите, где "лесенка" поломалась.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Geo4xan пишет:

Выдаёт ошибку в if: expected unqualified-id before 'if'

Принято к сведению. 

Когда (и если) у Вас появятся какие-нибудь вопросы, не стесняйтесь спрашивать.

Только текст сообщения об ошибке нужно копипастить полностью.

anatoli_nik
Offline
Зарегистрирован: 17.01.2019

Строки от 113 и до конца не входят не в одну функцию.

По видимому скобки не правильно расставлены.

Цитата:
Где? У нас закавычено

"наковычено"

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

типичный пример, что бывает, когда из разных источников надергал код, в котором понимаешь так же, как свинья в липисинах. 

и сразу же "ПАМАГИТИ!!!!"

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

это троллинг такой,  скетч ничего не делает )))
 

void setup(){
 Serial.begin(9600);
  }
 

void loop()  
{}

 

anatoli_nik
Offline
Зарегистрирован: 17.01.2019

Ничего, расставит скобки, может быть... Потом будет спрашивать почему лампочки не моргают.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

ua6em пишет:

это троллинг такой,  скетч ничего не делает )))

Ну, это же не мешает компилятору сообщения об ошибках выдавать :)

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

ЕвгенийП пишет:

ua6em пишет:

это троллинг такой,  скетч ничего не делает )))

Ну, это же не мешает компилятору сообщения об ошибках выдавать :)

Предлагаю гипотезу:

Скетч ничего и не будет делать, пока компилятор выдает сообщения об ошибках.

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

Ну, это смотря как его замотивировать. Хорошо заплатить, дать гарантии, что не накажут, так может и плюнет на придирки компилятора.

gena321
Offline
Зарегистрирован: 19.01.2019

Geo4xan пишет:

Где? У нас закавычено

 

почитай ошибку, там указано какие строки вызывают ошибки

IIIgyH
Offline
Зарегистрирован: 26.05.2020

нужна помощь по ошибке 1281:1: error: expected unqualified-id before 'if'        1281 строка это if (mash = 17 )

void mashing ();
if (mash = 17 )
{
  {
    sensors.requestTemperatures();
    tempC = sensors.getTempCByIndex(0);
  }
  if (mash == 1)
  {
  if (tempC < aMalt)
  {
    if (heat == 0)
    {
      digitalWrite(heatPin, HIGH);
      heat = 1;
    }
   }
   if (tempC >= aMalt)
   {
     if (heat == 1)
     {
       digitalWrite(heatPin, LOW);
       heat = 0;
       mash = 2;
       digitalWrite(pumpPin, LOW);
       mashMessages();
     }
   }
  }  
  if (mash == 3)
  {
    if (tempC < r1Temp)
  {
    if (heat == 0)
    {
      digitalWrite(heatPin, HIGH);
      heat = 1;
    }
   }
   if (tempC >= r1Temp)
   {
     if (heat == 1)
     {
       digitalWrite(heatPin, LOW);
       heat = 0;
       mash = 4;
       setTimer(r1Time);
       mashMessages();
     }
   }
  }
  if (mash == 4)
  {
    if (timer == 1)
    {
      if (tempC < r1Temp)
      {
        if (heat == 0)
        {
          digitalWrite(heatPin, HIGH);
          heat = 1;
        }
       }
       if (tempC >= r1Temp)
       {
         if (heat == 1)
         {
           digitalWrite(heatPin, LOW);
           heat = 0;
         }
       }
    }
    if (timer == 0)
    {
      mash = 5;
      mashMessages();
    }
  }
  if (mash == 5)
  {
    if (tempC < r2Temp)
    {
      if (heat == 0)
      {
        digitalWrite(heatPin, HIGH);
        heat = 1;
      }
    }
    if (tempC >= r2Temp)
    {
    if (heat == 1)
      {
        digitalWrite(heatPin, LOW);
        heat = 0;
        mash = 6;
        setTimer(r2Time);
        mashMessages();
      }
    }
  }
  if (mash == 6)
  {
    if (timer == 1)
    {
      if (tempC < r2Temp)
      {
        if (heat == 0)
        {
          digitalWrite(heatPin, HIGH);
          heat = 1;
        }
       }
       if (tempC >= r2Temp)
       {
         if (heat == 1)
         {
           digitalWrite(heatPin, LOW);
           heat = 0;
         }
       }
    }
    if (timer == 0)
    {
      mash = 7;
      mashMessages();
    }
  }
  if (mash == 7)
  {
    if (tempC < r3Temp)
    {
      if (heat == 0)
      {
        digitalWrite(heatPin, HIGH);
        heat = 1;
      }
    }
    if (tempC >= r3Temp)
    {
    if (heat == 1)
      {
        digitalWrite(heatPin, LOW);
        heat = 0;
        mash = 8;
        setTimer(r3Time);
        mashMessages();
      }
    }
  }
  if (mash == 8)
  {
    if (timer == 1)
    {
      if (tempC < r3Temp)
      {
        if (heat == 0)
        {
          digitalWrite(heatPin, HIGH);
          heat = 1;
        }
       }
       if (tempC >= r3Temp)
       {
         if (heat == 1)
         {
           digitalWrite(heatPin, LOW);
           heat = 0;
         }
       }
    }
    if (timer == 0)
    {
      mash = 9;
      mashMessages();
    }
  }
  if (mash == 9)
  {
    if (tempC < r4Temp)
    {
      if (heat == 0)
      {
        digitalWrite(heatPin, HIGH);
        heat = 1;
      }
    }
    if (tempC >= r4Temp)
    {
    if (heat == 1)
      {
        digitalWrite(heatPin, LOW);
        heat = 0;
        mash = 10;
        setTimer(r4Time);
        mashMessages();
      }
    }
  }
  if (mash == 10)
  {
    if (timer == 1)
    {
      if (tempC < r4Temp)
      {
        if (heat == 0)
        {
          digitalWrite(heatPin, HIGH);
          heat = 1;
        }
       }
       if (tempC >= r4Temp)
       {
         if (heat == 1)
         {
           digitalWrite(heatPin, LOW);
           heat = 0;
         }
       }
    }
    if (timer == 0)
    {
      mash = 11;
      mashMessages();
    }
  }
  if (mash == 11)
  {
    if (tempC < r5Temp)
    {
      if (heat == 0)
      {
        digitalWrite(heatPin, HIGH);
        heat = 1;
      }
    }
    if (tempC >= r5Temp)
    {
    if (heat == 1)
      {
        digitalWrite(heatPin, LOW);
        heat = 0;
        mash = 12;
        setTimer(r5Time);
        mashMessages();
      }
    }
  }
  if (mash == 12)
  {
    if (timer == 1)
    {
      if (tempC < r5Temp)
      {
        if (heat == 0)
        {
          digitalWrite(heatPin, HIGH);
          heat = 1;
        }
       }
       if (tempC >= r5Temp)
       {
         if (heat == 1)
         {
           digitalWrite(heatPin, LOW);
           heat = 0;
         }
       }
    }
    if (timer == 0)
    {
      mash = 13;
      mashMessages();
    }
  }
  if (mash == 13)
  {
    if (tempC < mOTemp)
    {
      if (heat == 0)
      {
        digitalWrite(heatPin, HIGH);
        heat = 1;
      }
    }
    if (tempC >= mOTemp)
    {
    if (heat == 1)
      {
        digitalWrite(heatPin, LOW);
        heat = 0;
        mash = 14;
        setTimer(mOTime);
        mashMessages();
      }
    }
  }
  if (mash == 14)
  {
    if (timer == 1)
    {
      if (tempC < mOTemp)
      {
        if (heat == 0)
        {
          digitalWrite(heatPin, HIGH);
          heat = 1;
        }
       }
       if (tempC >= mOTemp)
       {
         if (heat == 1)
         {
           digitalWrite(heatPin, LOW);
           heat = 0;
         }
       }
    }
    if (timer == 0)
    {
      mash = 15;
      mashMessages();
    }
  }
  if (mash == 16)
  {
    if (tempC < 97)
    {
      if (heat == 0)
      {
        digitalWrite(heatPin, HIGH);
        heat = 1;
      }
    }
    if (tempC >= 97)
    {
    if (heat == 1)
      {
        mash = 17;
        setTimer(boil);
        mashMessages();
      }
    }
  }
  if (mash==17)
  {
    if (actBoil == 1)
    {
      if (aBoilPw < 100)
      {
        {
        if (swDel==0)
        {
          digitalWrite(heatPin, HIGH);
          heat = 1;
//          time = millis();
          swDel = 1;
        }
        if (swDel==1)
        {
          if (millis()>=time+aBoilPw*20)
          {
            swDel = 2;
          }
        }
        if (swDel==2)
        {
          digitalWrite(heatPin, LOW);
          heat = 0;
//          time = millis();
          swDel = 3;
        }
        if (swDel==3)
        {
          if (millis()>=time+(2000-aBoilPw*20))
          {
            swDel = 0;
          }
        }
      }
      }
      else
      {
        if (heat == 0)
        {
          digitalWrite(heatPin, HIGH);
          heat = 1;
        }
      }
    }
    else
    {
      if (boilPw < 100) 
      {
        if (swDel==0)
        {
          digitalWrite(heatPin, HIGH);
          heat = 1;
//          time = millis();
          swDel = 1;
        }
        if (swDel==1)
        {
          if (millis()>=time+boilPw*20)
          {
            swDel = 2;
          }
        }
        if (swDel==2)
        {
          digitalWrite(heatPin, LOW);
          heat = 0;
//          time = millis();
          swDel = 3;
        }
        if (swDel==3)
        {
          if (millis()>=time+(2000-boilPw*20))
          {
            swDel = 0;
          }
        }
      }
      else
      {
        if (heat == 0)
        {
          digitalWrite(heatPin, HIGH);
          heat = 1;
        }
      }
    }
    if (timer == 0)
    {
      mash = 18;
      digitalWrite(heatPin, LOW);
      heat = 0;
      mashMessages();
    }
  }
  if (mash==19)
  {
    sensors.requestTemperatures();
    tempC = sensors.getTempCByIndex(0);
    printTemperature(insideThermometer);
  }
}
 
 
b707
Offline
Зарегистрирован: 26.05.2017

Во-первых, вставьте код правильно

Во-вторых. не имейте привычки мусорить в чужих темах

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Тем более в этой теме уже есть ответы по данной ошибке, в постах #1 и #5 (только фигурные скобки ошибочно названы кавычками)