Подскажите с циклами, задержка, условие

Тема в разделе "Arduino & Shields", создана пользователем Den Kiva, 2 дек 2019 в 10:23.

  1. Den Kiva

    Den Kiva Нерд

    33
     
    Последнее редактирование: 4 дек 2019 в 21:25
  2. Asper Daffy

    Asper Daffy Иксперд

    Почему?
     
    DetSimen нравится это.
  3. Asper Daffy

    Asper Daffy Иксперд

    Ну, это Вы не имеете. Может, научиться? Мне-то не жалко, можно и без, но в данной конкретной задаче код с делей получается короче и проще.
     
  4. Asper Daffy

    Asper Daffy Иксперд

    Главный вопрос не в том, как смотреть температуру - это-то несложно. Вопрос в том, что делать потом. Поэтому, прежде, чем продолжать, ответьте (а то, может, я неправильно понял). Вопрос такой:

    Включаем задержку на 120 сек. Во время задержки продолжаем мониторить температуру. Допустим, выполнилось некое условие, и мы включили какой-то пин. А с задержкой что? Продолжаем пока 120 сек не истекут? Или немедленно прерываем? Или пофиг? Это важный вопрос. Если ответ "продолжаем" или "пофиг", то с делеем всё гораздо проще, чем без него.
     
  5. parovoZZ

    parovoZZ Гуру

  6. Shagrat

    Shagrat Нуб

    Может я и неправ, но для таких простеньких задач, если никак с циклами, то проще в FLProg нарисовать или в XOD'e. Там и готовые датчики и автоматы и прочей фигни навалом, Да и код не самый громоздкий.
     
  7. Asper Daffy

    Asper Daffy Иксперд

    Нет. Перечитайте мой вопрос. Он простой как валенок: если событие наступило во время задержки, она прекращается или продолжается. Я это хочу знать.
     
  8. b707

    b707 Гуру

    Если вам просто нужно решить эту задачу - ставьте делей на 120 сек, по окончании делея считывайте температуру - принимайте решение продолжать ли следующие 120сек или останавливать
    Если же вы хотите научиться писать без делеев - читайте книжки и изучайте примеры в интернете, их сотни.
     
  9. b707

    b707 Гуру

    думаю. можно принять решение за ТС :)
    Я бы выбрал вариант с контролем температуры только раз в 120 сек
     
  10. Asper Daffy

    Asper Daffy Иксперд

    Пожалуйста, не используйте слов, смысла которых не знаете, Вас невозможно понять.

    Сравните варианты:

    1. Запустили задержу на 120 сек. Через 40 сек произошло событие. Включаем пин и продолжаем ничего не делать ещё 80 сек.

    2. Запустили задержу на 120 сек. Через 40 сек произошло событие. Включаем пин и забываем про то, у нас была задержка, работаем дальше.

    У Вас второй?
     
  11. Asper Daffy

    Asper Daffy Иксперд

    Тогда нет смысла "проверять во время делей" - это ничего не даёт. Делайте как обычно, через цикл с двумя условиями - по миллис и по температуре