#include "TeensyTimerTool.h" using namespace TeensyTimerTool; OneShotTimer timer[]{TCK, TCK, TCK, TCK}; // 4 one-shot-timers PeriodicTimer pt1; // 1 periodic timer unsigned t_0; // start time void isr() { Serial.printf("called @: %u ms\n", millis() - t_0); } void setup() { while (!Serial) {} // wait for PC to connect the virtual serial port for (OneShotTimer& t : timer) // for the sake of simplicity, attach the same isr to all timers in array { t.begin(isr); } timer[0].trigger(10ms); // 10 ms timer[1].trigger(0.5s + 10ms); // 510 ms timer[2].trigger(2.5 * 0.3s + 20'000us / 2); // 760 ms timer[3].trigger(milliseconds(50) + microseconds(5000)); // 55ms t_0 = millis(); pt1.begin([]{digitalToggleFast(LED_BUILTIN)}) } void loop() { }