Официальный сайт компании Arduino по адресу arduino.cc
expected ';' before '{' token
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Пт, 11/01/2019 - 20:43
в общем такая ошибка, ниже привожу скрин, и код целиком. смысл ошибки я понимаю. но вот куда именно я должен поставить этот символ и самое главное зачем? до меня не доходит кто подскажет? если есть необходимость могу обяснить строки кода, если в кратце то это: дисплей на который выводятся данные с двух датчиков температуры и влажности, две кнопки, одна перезагружает устройство, другая включает подсветку) #include <TroykaDHT.h> #include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27,16,2); // Устанавливаем дисплей DHT dht1(2, DHT21); DHT dht2(4, DHT11); int switchPin = 8; int switchPin2 = 7; boolean lastButton = LOW; boolean currentButton = LOW; boolean lastButton2 = LOW; boolean currentButton2 = LOW; long previousMillis = 0; long interval = 3000; int screen = 1; void conclusion (int n) { if (n==1) { // lcd.backlight(); dht1.read(); // Устанавливаем курсор на вторую строку и нулевой символ. lcd.setCursor(7, 0); lcd.print(dht1.getTemperatureC()); lcd.setCursor(14, 1); lcd.print("St"); lcd.setCursor(7, 1); lcd.print(dht1.getHumidity()); screen = 1; } else (n==2) { dht2.read(); lcd.setCursor(7, 0); lcd.print(dht2.getTemperatureC()); lcd.setCursor(14, 1); lcd.print("Ho"); lcd.setCursor(7, 1); lcd.print(dht2.getHumidity()); screen = 2; } } void setup() { pinMode (switchPin, INPUT); pinMode (switchPin2, INPUT); dht1.begin(); dht2.begin(); lcd.init(); //lcd.backlight();// Включаем подсветку дисплея lcd.print("Temp = "); lcd.setCursor(13, 0); lcd.print("C"); lcd.setCursor(0, 1); lcd.print("Hum = "); lcd.setCursor(12, 1); lcd.print("%"); // lcd.print("LCD 1602"); } boolean debounce(boolean last) { boolean current = digitalRead (switchPin); if (last != current) { delay(5); current = digitalRead (switchPin); } return current; } boolean debounce2(boolean last2) { boolean current2 = digitalRead (switchPin2); if (last2 != current2) { delay(5); current2 = digitalRead (switchPin2); } return current2; } void loop() { conclusion (1); unsigned long currentMillis = millis(); if(currentMillis - previousMillis > interval) { if (screen == 1) { conclusion (2); previousMillis = currentMillis; } else (screen == 2) { conclusion (1); previousMillis = currentMillis; } } currentButton = debounce(lastButton); if (lastButton == LOW && currentButton == HIGH) { asm("JMP 0"); } lastButton = currentButton; currentButton2 = debounce2(lastButton2); if (lastButton2 == LOW && currentButton2 == HIGH) { lcd.backlight(); } lastButton2 = currentButton2; //asm("JMP 0");//перезагрузка // Выводим на экран количество секунд с момента запуска ардуины //lcd.print(millis()/1000); }
А объясните строку 100, например.
screen это параметр того что выведено на экране, данные с первого датчика или со второго 1 и 2, соответсвенно она значит "иначе, если данные на экране выведены со второго датчика"
Почитайте про синтаксис if-else
https://www.arduino.cc/reference/en/language/structure/control-structure/else/
благодарю
внимательно читайте
А если на неё внимательно посмотреть?
А если глаза потереть? А может ещё и в шпаргалку заглянуть?
С ней точно всё нормально? Прямо точно-точно?
Это не паскаль...
В Паскале такого тоже нет.
Да, это я погорячился.