Оператор возврата
- Войдите на сайт для отправки комментариев
Пт, 19/04/2013 - 20:59
Привет. Есть кусок кода в void loop(), содержащий цикл while, действие в котором начинается при нажатии на кнопку дисплей-шилда. Так вот - нужно сделать так, чтобы при следующем нажатии на кнопку, программа возвращалась, например, на 16 строку кода. Как это сделать? Попробовал return 16 (16 - номер строки), но компиллятор ругается.
#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
void setup()
{
lcd.begin(16, 2);
}
void loop() {
lcd.print("Press any key");
lcd.setCursor(0,1);
lcd.print("to learn voltage");
int z;
z = analogRead (0);
while (z < 800)
{
lcd.clear();
double x = analogRead(1);
double y = x/204.6;
lcd.print("Voltage is:");
lcd.setCursor(12,0);
lcd.print(y);
delay(250);
}
}
создаются либо две функции, либо огранизовывается switch. от них и пляшем. на конкретную строчку вернуться нельзя.
кстати, а где в вашем примере эта кнопка?
Кнопка - analogRead(0). Их 5, они через делитель подключены. Можете показать, как switch работает?
могу
for(;;) { switch(y) { case 0: // тут че-то делаем если y == 0 break; case 1: // тут че-то делаем если y == 1 break; } } // forА что писать в скобках после for? А у - условие, при котором выполняется свитч?
ничего. for это по нормальному, по ардуиновски это ваш loop. еще по нормальному while(1).
y - да, переменная, это я вашу взял, где уже с аналогрид число.
Спасибо :) Буду пробовать...
если бы описали проблему детально, то может бысрее бы ответили. а так, получается что в саму программу никто не вникает, просто дают советы по названию темы.
Всё нормально - я же нуб, лучше сам поразбираюсь. :)