Ohne Not sollte man die Delay-Routinenn nicht verwenden.

Anlass zur Verwendung von delay-Zeug sind zB:
  • Es ist absolut nicht möglich, für das Timing einen Timer einzusetzen. Ein Timer kann oft auch für mehrere Aufgaben verwendet werden (Entrprellung, Infrarot-Empfang, Drehgeber-Auswertung, DCF, ...)
  • Es muss nur einige Ticks gewartet werden, zB wenn man irgendwo nach Zustandsänderung warten muss, bis sich Pegel geändert haben (zB aufgrund parasitärer Kapazitäten)
  • Quick & Dirty Programm oder man weiß es nicht besser. Delay-Routinen vertrödeln Zeit, sind ungenau und wenn IRQs aktive sind nochmal ungenauer. Das durch sie verursachte Blockieren führt schon bei kleineren Problemen zu unangenehmen konzeptionellen Problemen. Bei zeitkritischen Anwendungen hat man nix zu verschenken, aber gerade das tun Delay-Routinen. Überleg dir einfach, wie du eine LED im 1-Sekunden-Takt blinken lässt, und eine Zweite im Takt von 1.1 Sekunden.