ilyaplot
@ilyaplot
PHP программист

Как изменить callback в SimpleTimer Arduino?

Использую в качестве таймера библиотеку playground.arduino.cc/Code/SimpleTimer
Появилась необходимость изменять callback для некоторых таймеров. Проблема в том, что приходится отключать таймер и создавать новый с другим callback. В коде такое решение выглядит громоздко.
Можно ли создать переменную и в нее записывать имя функции для setInterval, а потом просто поменять значение этой функции?
  • Вопрос задан
  • 3090 просмотров
Решения вопроса 1
Slipeer
@Slipeer
Можно в callback указать функцию, которая будет дёргать другую функцию по указателю.
Указатель глобальный - при необходимости переопределяйте его.
Пример работы с указателями на функцию:
void start(char* p) {
Serial.println(p);
}
 
void (*Write)(char*);
 
void setup()
{
Serial.begin(9600);
Write = &start;
(*Write)("I've started, yeah! :)");
}

void loop()
} 
}

Где (*Write)(char*) - указатель.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы