Deswegen speichere ich den aktuellen millis-Stand für jeden loop-Durchlauf und benutze diesen, wenn gebraucht.
Und ich isoliere alle Zeitabhandlungen voneinander.
Vollständig.
Dann können sie sich nicht ins Gehege kommen.
Aber, egal wie man es tut ...
Es gilt immer der alte Grundsatz:
Kaum macht man es richtig, schon funktioniert es.