Помогите с переменной разобраться

Тема в разделе "Arduino & Shields", создана пользователем ToxaRU, 2 сен 2015.

  1. ToxaRU

    ToxaRU Гик

    У меня после первого прохода скетча в loop появляется число в int . Можно ли как то после первого прохода скетча это число записать в int ЕДИНОКРАТНО...чтобы потом любые изменения при работе скетча больше не менялось... В void setup() не могу использовать, потому как число появляется после первого прохода loop, если в Setup загнать получится 0 записан.... проблемма в том что раньше считывал показание датчика в сетапе и он однократно записывал его показания в int при старте.... теперь поменял библиотеку и немогу найти как считать данные... приходится брать обработанные из конца скетча-но записать надо только один раз
     
    Последнее редактирование: 2 сен 2015
  2. Limoney

    Limoney Гик

    Просто проверяй переменную по условию, если больше или меньше, то пропустить
     
  3. ToxaRU

    ToxaRU Гик

    так не получится-потому как я эту переменную потом в ручную менять с пульта буду.... просто мне надо чтобы при старте считывался датчик и система приходила в нужную позицию а потом я мог менять с пульта ее сам
     
  4. Limoney

    Limoney Гик

    К этой переменной добавить переменную как флаг, если флаг изменился, то эту переменную пропустить
     
  5. Vad33

    Vad33 Капитан-оригинал

    Можно оформить "проход" в отдельную процедуру и вызывать из Setup и из Loop.
    Только в Setup после "прохода" добавить еще команду записи значения в переменную.
    Но это все теоретические рассуждения без конкретного кода.
     
  6. ToxaRU

    ToxaRU Гик

    ну это мне сложновато))))))
     
  7. ToxaRU

    ToxaRU Гик

    Если несложно ссылочку на код или пример или где почитать как сделать-я пока не силен первый код пишу(2 месяца))))))
     
  8. Unixon

    Unixon Оракул Модератор

    Код (Text):

    bool initialized = false;

    bool initialize()
    {
      // ...
      return true;
    }

    void process()
    {
      if (!initialized) initialized = initialize();
      // ...
    }

    void setup()
    {
      process()
    }

    void loop()
    {
      process()
    }
     
     
    ToxaRU нравится это.
  9. ToxaRU

    ToxaRU Гик

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