Объсните чайнику смысл do while ?

remontmob
Offline
Зарегистрирован: 27.01.2018

в справочнике так

 

do
{
  delay(50);          // подождать, пока датчики стабилизируются
  x = readSensors(); // проверить датчики
while (x < 100);

 

Насолько я понимаю, это можно объснить так:

do -делать  что-то,

while -покак не наступит какое-то событие

например,

путь светодиод на пине 13 горит, пока  на пине 12  высокий уровень,  в противном случае - не горит

 
do {          

 (digitalWrite (13)= =HIGH);
 
while (digitalWrite (12, HIGH);
 
} 

 я правильно понимаю смысл цикла?

 

 

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Особенно если перепишет код, чтобы в нём хоть какой-то смысл был.

А про цикл. Вы цикл while знаете? Так do while отличается только тем, что тело цикла хотя бы один раз обязательно исполнится. А в while может не исполниться ни разу.

b707
Offline
Зарегистрирован: 26.05.2017

remontmob пишет:

например,

путь светодиод на пине 13 горит, пока  на пине 12  высокий уровень,  в противном случае - не горит

 
do {          

 (digitalWrite (13)= =HIGH);
 
while (digitalWrite (12, HIGH);
 
} 

 я правильно понимаю смысл цикла?

не знаю, что вы понимаете, но в третьей строке кода написан откровенный бред. По-моему, вам еще рано придумывать вопросы - вы сначала какой-нибудь учебник по языку прочитайте от начала до конца.

 

NeiroN
NeiroN аватар
Offline
Зарегистрирован: 15.06.2013
do {
delay(50);
digitalWrite(13, HIGH);
} while (digitalRead(12) == HIGH);
digitalWrite(13, LOW);

Если перевести в код то что вы написали. Перед входом в цикл уровень должен быть высокий. 

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

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

b707 пишет:
в третьей строке кода написан откровенный бред.
А в пятой? Необыкновенный?