Оператор возврата

Nickalaich
Nickalaich аватар
Offline
Зарегистрирован: 07.04.2013

Привет. Есть кусок кода в 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);
  }
}

 

__Alexander
Offline
Зарегистрирован: 24.10.2012

создаются либо две функции, либо огранизовывается switch. от них и пляшем. на конкретную строчку вернуться нельзя.

 

кстати, а где в вашем примере эта кнопка?

Nickalaich
Nickalaich аватар
Offline
Зарегистрирован: 07.04.2013

Кнопка - analogRead(0). Их 5, они через делитель подключены. Можете показать, как switch работает?

__Alexander
Offline
Зарегистрирован: 24.10.2012

могу

 

for(;;)

{

    switch(y)
   {
   case 0: 
   // тут че-то делаем если y == 0
    break;
    case 1:
   // тут че-то делаем если y == 1
   break;
   }

} // for

 

Nickalaich
Nickalaich аватар
Offline
Зарегистрирован: 07.04.2013

А что писать в скобках после for? А у - условие, при котором выполняется свитч?

 

__Alexander
Offline
Зарегистрирован: 24.10.2012

ничего. for это по нормальному, по ардуиновски это ваш loop. еще по нормальному while(1).

y - да, переменная, это я вашу взял, где уже с аналогрид число.

Nickalaich
Nickalaich аватар
Offline
Зарегистрирован: 07.04.2013

Спасибо :) Буду пробовать...

__Alexander
Offline
Зарегистрирован: 24.10.2012

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

 

Nickalaich
Nickalaich аватар
Offline
Зарегистрирован: 07.04.2013

Всё нормально - я же нуб, лучше сам поразбираюсь. :)