цикл do while
- Войдите на сайт для отправки комментариев
Сб, 31/12/2016 - 19:36
почему происходит выход из цикла даже если val постоянно равен 0 (конечно же, в if он входит не равным нулю, но потом в течении цикла он равен 0) int ledPin = 12; // LED connected to digital pin 13 int inPin = 13; // pushbutton connected to digital pin 7 int val = 0; // variable to store the read value int f = 0; void setup() { pinMode(ledPin, OUTPUT); // sets the digital pin 13 as output pinMode(inPin, INPUT); // sets the digital pin 7 as input } void loop() { val = digitalRead(inPin); // read the input pin if (val!=0) { do { digitalWrite(ledPin, HIGH); // включить светодиод подав напряжение на 13 выход delay(1000); // ждать digitalWrite(ledPin, LOW); // потушить светодиод убрав напряжение на 13 выходе delay(1000); // ждать 0,1 секунды digitalWrite(ledPin, HIGH); // включить светодиод подав напряжение на 13 выход delay(1000); // ждать digitalWrite(ledPin, LOW); // потушить светодиод убрав напряжение на 13 выходе delay(1000); // ждать val = digitalRead(inPin); } while (val=0); } }
Потому, что в операторе whilе Вы не сравниваете val с нулём, а присваиваете ему 0. Цикл у Вас работает 1 раз и сразу же выходит.
while
(val==0);