Как выйти из цикла(не loop)

Igor835
Offline
Зарегистрирован: 16.08.2018

как выйти из цикла который я создал например llloop

vk007
Offline
Зарегистрирован: 16.06.2015
Igor835
Offline
Зарегистрирован: 16.08.2018

Спасибо

vk007
Offline
Зарегистрирован: 16.06.2015

Igor835 пишет:

А как выйти из "if"?

Чего? С каких это пор "if" стал циклом и из него нельзя выйти?

Перефразируя известное выражение - "Из if у вас всегда есть два выхода" :)

Igor835
Offline
Зарегистрирован: 16.08.2018

1. Когда все закончится 

а 2 я не знаю

vk007
Offline
Зарегистрирован: 16.06.2015

Igor835 пишет:

как выйти из цикла который я создал например llloop

И это... что-то я не внимательно сразу прочитал, конечно, можно создать и свою какую-то циклическую функцию и дать ей имя, но тогда, может вы хотели спросить не как выйти из цикла, а как прервать выполнение функции? Тогда почитайте о http://arduino.ru/Reference/Return

 

Igor835
Offline
Зарегистрирован: 16.08.2018

воот что я хотел ) Спасибо 

vk007
Offline
Зарегистрирован: 16.06.2015

Igor835 пишет:

1. Когда все закончится 

а 2 я не знаю

1 - когда условие верно, в 2 - когда оно ложно (else).

Voodoo Doll
Voodoo Doll аватар
Offline
Зарегистрирован: 18.09.2016
while(!condition1 || !condition2){
  // "||" stands for OR; truth table: 0||1=1, 1||0=1, 1||1=1
  doShit();
}

//emergency loop break
condition2=true;

 

Voodoo Doll
Voodoo Doll аватар
Offline
Зарегистрирован: 18.09.2016

Яж надеюсь ясно что цикл и внешнее халт событие есть параллельные процессы. Всмысле цикл должен быть неблокирующим.

Igor835
Offline
Зарегистрирован: 16.08.2018
if(results.value==0xFF38C7){
  results.value = 0;
  rainbowCycle(20);
  rainbowCycle(20);
  rainbowCycle(20);
  rainbowCycle(20);
  rainbowCycle(20);
  rainbowCycle(20);
  rainbowCycle(20);
  rainbowCycle(20);
}



Мне надо выйти из оператора if До того как оно закончится.

И еще проверьте мой скетч ниже. Он должен означать по моим понятиям



1. Когда нажимаешь на кнопку меняются цвета

2. Когда нажимаешь на вторую кнопку пропускается весь оператор

if (results.value==0xFF10EF){

rainbow(20);results.value = 0;

rainbow(20); 

rainbow(20); 

rainbow(20); 

(20); rainbow(20);

rainbow(20); rainbow(20); 

if(results.value == 0xFFC23D){ results.value = 0; return; 

}}

 

sadman41
Offline
Зарегистрирован: 19.10.2016

Проверил. Все так и есть.

Igor835
Offline
Зарегистрирован: 16.08.2018

но почему скетч работает не правильно

Когда я нажимаю на 2 кнопку у меня ничего не останавливается и всё продолжается

 

sadman41
Offline
Зарегистрирован: 19.10.2016

Насчет этого указаний не было. Оператор пропускается согласно распоряжению.

Igor835
Offline
Зарегистрирован: 16.08.2018

А если не трудно можете написать кусочек скетча как это должно выглядить просто я ток недавно начал язык изучать ;)

 

sadman41
Offline
Зарегистрирован: 19.10.2016

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

Igor835
Offline
Зарегистрирован: 16.08.2018

Так вы знаете как мне сделать этот кусок? если не трудно можете написать кусочек скетча 

sadman41
Offline
Зарегистрирован: 19.10.2016

Именно этот - не знаю. Но могу дать код мигания светодиодом.

Igor835
Offline
Зарегистрирован: 16.08.2018

это я знаю как делать. Я не знаю как мне выйти из оператора до того как закончится он

sadman41
Offline
Зарегистрирован: 19.10.2016

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

Igor835
Offline
Зарегистрирован: 16.08.2018

тоесть никак?..

Спасибо что пытались помочь

 

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Igor835 пишет:

Я не знаю как мне выйти из оператора до того как закончится он

В "Избранные цитаты" данного форума, однозначно!

bwn
Offline
Зарегистрирован: 25.08.2014

sadman41 пишет:

Именно этот - не знаю. Но могу дать код мигания светодиодом.

Ну да, изучил весь букварь, все буквы знаю, слово никак прочитать не могу. Но это же мелочи, вы  дайте мне пример, как "Анну Каренину" написать?