Несколько таймеров в одном

Памагити мне это развидеть!?!?

ест но в оригинале не так конечно , когда сверху копировал #define попало

а вообще “не ошибается тот кто ничего не делает” повторюсь еще раз , ну нет у меня пока достаточных знаний и наработок.

вот вы как большой специалист по таймерам !!! , даже библиотеку свою написали а ничего кроме насмешек ничего не ответили .

А просто взять библиотеку не судьба ? Или нужен свой велосипед … с квадратными колесами ???

2 лайка

DetSimen этого кудесника или какую ? в принципе я все сделал но для общего развития думаю будет полезно попробовать другие варианты..

Так это не единственная ошибка, там ещё много такого

Для общего развития было бы полезно если бы вы хотя бы проверили код на ошибки, прежде чем показывать.

что еще ? , мне для работы над ошибками .

это да мой косяк , с телефона писал.

Так эти знания нужно приобретать.
При том - приобретать осознанно: изучать язык, на котором пытаетесь писать, а не надеяться, что беспорядочно стуча по клавишам, вдруг внезапно получите “Войну и мир”.

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

Не делайте так больше.
На данном форуме писать с телефона считается mauvais ton.

виноват исправлюсь

Да хотя бы по моей ссылке выше :wink:

Это сильно!

1 лайк

дед уже рыдал #18

1 лайк

Не, я плакал. Но не от всего серца, не навзрыд. :slight_smile:

2 лайка

Как по мне, работу с миллис надо обязательно освоить. Тем более ничего сложного. А потом уже можно дальше “шагать” - к библиотекам, ит.д
Вот простейший таймер на миллис для 4-х, независимых друг от друга событий , с разной периодичностью

Спойлер
void setup() {
  Serial.begin(115200);
}

void loop() {

  static uint32_t last_millis_1 = 0;
  static uint32_t last_millis_2 = 0;
  static uint32_t last_millis_3 = 0;
  static uint32_t last_millis_4 = 0;

  if (millis() - last_millis_1 >= 500 ) //событие происходит
  { //каждые 500мс
    last_millis_1 = millis();
    Serial.println("timer_1");
  }

  if (millis() - last_millis_2 >= 1000 ) //событие поиходт
  { //каждые 1000мс
    last_millis_2 = millis();
    Serial.println("timer_2");
  }

  if (millis() - last_millis_3 >=  1500 ) //событие прсхоит
  { //каждые 1500мс
    last_millis_3 = millis();
    Serial.println("timer_3");
  }

  if (millis() - last_millis_4 >= 2000 ) //событие просходит
  { //каждые 2000мс
    last_millis_4 = millis();
    Serial.println("timer_4");
  }

}
Спойлер

1 лайк

Может туда-же или рядом сохранить?

Да полно уже вроде примеров, я простейший привёл…

Ну да, потому то ента тема и появилась :grinning_face:

3 лайка

Как будто туда кто-то заглядывает ))

2 лайка

они все думают, что их проблема уникальна…

3 лайка