Выполнить условие 1 раз

Sirocco
Offline
Зарегистрирован: 28.09.2013

Есть код:

String msgMZ4 = "GET /testard/mz4.php?z4="+ String(mz4);

if (mz1 >0)
   {
client.connect(server, 80);
client.println(msgMZ1);
Serial.println(msgMZ1);
delay (1000);.
client.stop();
 }

Тоесть, если mz1 больше нуля, то нужно постоянно улетает значение на сервер.

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

Как добавить последнее условие?

 

triada13
Offline
Зарегистрирован: 04.01.2013

а если флаг создать? и сбрасывать его только при ресете?

Sirocco
Offline
Зарегистрирован: 28.09.2013

triada13 пишет:

а если флаг создать? и сбрасывать его только при ресете?

Но тогда, когда значение будет нулевым, оно будет неоднократно отсылаться. А нужно только раз. И до следующего изменения. Когда в следующий раз значение станет больше нуля, и потом нулём, то только тогда нужно будет отослать ноль.

Или как вы имели в виду?

 

hugoboss317
Offline
Зарегистрирован: 21.03.2013

Я бы сделал так:



boolean var = true; //созаём булевую переменную (глобальную)
String msgMZ4 = "GET /testard/mz4.php?z4="+ String(mz4);

if(mz1) var = true; //если mz1 не равно "0" 
if (var)            //выполняем даже если столо равно "0"
   {
client.connect(server, 80);
client.println(msgMZ1);
Serial.println(msgMZ1);
delay (1000);.
client.stop();
if(!mz1)var = !var;  //больше выполняться не будет пока "ложь"
 }

 

Sirocco
Offline
Зарегистрирован: 28.09.2013

Да!  hugoboss317, работает, Спасибо!