Помогите новичку

JustMakeIt
Offline
Зарегистрирован: 04.04.2015

void loop() используется для создания цикла, а как сделать чтобы программа выполнялась один раз?

vov4ik
Offline
Зарегистрирован: 10.09.2013

void setup()

JustMakeIt
Offline
Зарегистрирован: 04.04.2015

Например я хочу, чтобы при включении загорался светодиод на 5 сек и выключался - так получается?

int led = 10;

void setup()
{
pinMode(led, OUTPUT);
digitalWrite(led,HIGH);
delay(5000);
digitalWrite(led,LOW);
}

 

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

да, до следРесета или выкл-вкл питания

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Можно тоже самое написать в loop() только в конце "while(1) {}", типа стоп и крутим дыру во флешке на одном месте.

 

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

блиииин , опять "while(1) {}" :(

кстати, стоп и крутим дыру во флешке на одном месте 

вычислительный комплекс ( земная часть ) наведения истребателей построена на конечных модулях 10 х 20 см, исключительно на 133 серии, на элементах 2И/НЕ.... никаких регистров, мультиплексоров, сумматоров....
"боевая" программа крутилась каждый день, нормально... но есть режим вывода результатов работы ( объективный контроль ) , который генералы раз в год-два хотели лицезреть :( 
при запуске комплекса в этом режиме СРАЗУ вылетало штук 50....150 кассет-ячеек :(

возникло мнение что электроны ( как муравьи ) набили сибе дорожки по платам по боевой программе, а при смене программы оне вошли в ступор и сломали ячейки...

после замены ячеек боевая работала норм, пока не переключались в тот режим :(
kisoft - у вас не было таких явлений ? как это можно объяснить ? :)

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012
#define ledPin 10
boolean startLed5000=1;
//================================================================
void setup()
{                
  pinMode(ledPin,OUTPUT);
  digitalWrite(ledPin,HIGH);
}
//================================================================
void loop()
{
  if(startLed5000)                        // выполняется только при первом проходе лупа
  {
    delay(5000);
    digitalWrite(ledPin,LOW);
    startLed5000=0;
  }
  
  

// или ещё раз по требованию где-то в коде
  if(еслиЧто-то) startLed5000=1;
  
}
//================================================================

 

JustMakeIt
Offline
Зарегистрирован: 04.04.2015

Спасибо за помощь vov4ik, SU-27-16, kisoft))

JustMakeIt
Offline
Зарегистрирован: 04.04.2015

:)