цикл 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);