Минимальный пример планировщика задач Blink?

Scheduler_example00_Blink - это ~300 строк. Что такое минимальный пример для Arduino Uno?

Трудно понять, что принадлежит, а что нет. В этом примере есть шесть различных подходов, и я просто пытаюсь извлечь один из них.

, 👍1

Обсуждение

как насчет шаблона планировщика?, @jsotola

на главной странице GitHub для библиотеки есть ссылка на удивительный веб-эмулятор Arduino .... https://wokwi.com/playground/task-scheduler ... попробуйте удалить разделы кода до тех пор, пока не останется минимум, @jsotola

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


1 ответ


1
#include <TaskScheduler.h>

// Планировщик
Scheduler ts;

/*
   Подход 1: светодиод управляется булевой переменной; false = ВЫКЛ., true = ВКЛ.
*/
#define PERIOD1 500
#define DURATION 10000
void blink1CB(); // <-------------------------------------------|
Task tBlink1 ( PERIOD1 * TASK_MILLISECOND, DURATION / PERIOD1, &blink1CB, &ts        , true );
//           (     500 * 1UL (ms)        , 100000 ms/ 500    , function , just put it,  ?   )



void setup()
{
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop()
{
  ts.execute();
}




inline void LEDOn() {
  digitalWrite( LED_BUILTIN, HIGH );
}

inline void LEDOff() {
  digitalWrite( LED_BUILTIN, LOW );
}



// === 1 =======================================
bool LED_state = false;
void blink1CB()
{
  if ( LED_state )
  {
    LEDOff();
    LED_state = false;
  }
  else
  {
    LEDOn();
    LED_state = true;
  }
}
,