// https://wokwi.com/projects/410563155121595393
// for https://forum.arduino.cc/t/multitask-using-millis-interrupts-timealarm-in-combination-with-for-loops/1306996/10?u=davex
bool HOBBLE = false;
int NUM = 20;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
}
void loop() {
if (HOBBLE) {
for (int ii = 0; ii < NUM ; ++ii) {
Serial.print(ii);
Serial.print(" ");
delay(100);
}
Serial.println();
}
else // un-HOBBLED
{
replacement();
}
Serial.print("."); // or other things
}
void replacement() {
static int ii;
uint32_t now = millis();
const uint32_t interval = 100;
static uint32_t last = 0; // remember for next time
if (now - last >= interval) {
last = now;
Serial.print(ii);
Serial.print(" ");
ii += 1;
if (ii >= NUM) {
Serial.println();
ii = 0;
}
}
}