Выдаёт ошибку в if: expected unqualified-id before 'if'
- Войдите на сайт для отправки комментариев
Пнд, 27/05/2019 - 09:24
#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;
}
}
}
}
}
}
закавычить {} попробуйте
Где? У нас закавычено
Ctrl-T нажимаете и визуально находите, где "лесенка" поломалась.
Выдаёт ошибку в if: expected unqualified-id before 'if'
Принято к сведению.
Когда (и если) у Вас появятся какие-нибудь вопросы, не стесняйтесь спрашивать.
Только текст сообщения об ошибке нужно копипастить полностью.
Строки от 113 и до конца не входят не в одну функцию.
По видимому скобки не правильно расставлены.
"наковычено"
типичный пример, что бывает, когда из разных источников надергал код, в котором понимаешь так же, как свинья в липисинах.
и сразу же "ПАМАГИТИ!!!!"
это троллинг такой, скетч ничего не делает )))
void setup(){ Serial.begin(9600); } void loop() {}Ничего, расставит скобки, может быть... Потом будет спрашивать почему лампочки не моргают.
это троллинг такой, скетч ничего не делает )))
Ну, это же не мешает компилятору сообщения об ошибках выдавать :)
это троллинг такой, скетч ничего не делает )))
Ну, это же не мешает компилятору сообщения об ошибках выдавать :)
Предлагаю гипотезу:
Скетч ничего и не будет делать, пока компилятор выдает сообщения об ошибках.
Ну, это смотря как его замотивировать. Хорошо заплатить, дать гарантии, что не накажут, так может и плюнет на придирки компилятора.
Где? У нас закавычено
почитай ошибку, там указано какие строки вызывают ошибки
нужна помощь по ошибке 1281:1: error: expected unqualified-id before 'if' 1281 строка это if (mash = 17 )
Во-первых, вставьте код правильно
Во-вторых. не имейте привычки мусорить в чужих темах
Тем более в этой теме уже есть ответы по данной ошибке, в постах #1 и #5 (только фигурные скобки ошибочно названы кавычками)