Разборки со switch
- Войдите на сайт для отправки комментариев
Ср, 24/02/2016 - 20:50
Приветствую, разбираюсь с оператором switch/case. А проблемма собственно вот в чем. Хочу ваот таким образом устроить программу, чтоб при выполнении условия программа делала определенный код. Но компилятор выдает ошибку такую - exit status 1
'power_1' was not declared in this scope
Возможно, что есть другая реализация программы хотел бы услышать, как правильно и получить толчек. Спасибо заранее.
void loop() { pir = digitalRead(pirsens); fot = analogRead(fotosens); //Serial.println(fot); if(fot <= 500 && pir == true) { stat = 1; } if(fot <= 500 && pir == false) { stat = 2; } if(fot >=500 && pir == false) { stat = 3; } switch(stat) { case 1: power); break; case 2: night(); break; case 3: off(); break; } void power() { for(value = 255; value >=0; value-=5) //плавно гасим { analogWrite(ledpin, value); delay(30); } delay(1000); } }
Скобка в 23 строке.....
Нет, дело не в ней. это здесь я ни чаянно ее удалил
на самом деле все нормально
Для понимания нужно привести ВЕСЬ код включая объявление глобальных переменных и сетап.
И как то глупо объявлять функцию ВНУТРИ цикла loop!
Должно быть
строки 47-55 надо вынести после 56.
Ну?
Код выложили, а сообщение компилятора кто будет выкладывать? Полностью, а не огрызком.
То есть чтоб void power не находилась внутри void loop так? И так с каждой и всегда верно?)
и учись сразу структуировать текст скетча!
понял, спасибо)
https://ru.wikipedia.org/wiki/%D0%A1%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5
https://ru.wikipedia.org/wiki/%D0%AF%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%A1%D0%B8_%28%D0%BA%D0%BD%D0%B8%D0%B3%D0%B0%29
https://ru.wikipedia.org/wiki/%D0%9E%D1%82%D1%81%D1%82%D1%83%D0%BF_%28%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%29
http://lib.ru/CTOTOR/kernigan.txt_with-big-pictures.html
Абрам 30 лет молился богу - я работаю в поте лица, не пропускаю молитв и всегда прошу помочь мне! Ну почему боже ты не можешь дать мне например миллион долларов?
БОГ - Абрам, дай мне шанс - КУПИ ЛОТЕРЕЮ!
Ребята, прочтите книжку! (Керниган и Ритчи) Куча вопросов отпадет.....
Ну а на десерт - 4х томник Кнута "Искусство программирования"- классика жанра ;)
https://ru.wikipedia.org/wiki/%D0%98%D1%81%D0%BA%D1%83%D1%81%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F