Ein bischen länger darfs schon sein:
Bei den meisten Betriebssystemen sieht die Mainloop so aus.Code:while(1) { sleep(); }
Alles, was der Compiler schluckt, ist legal, trotzdem gibt es einen Unterschied zwischen Lehrlingsarbeit und Meisterwerk. Die meisten Delays kann man in einem regelmäßigen Timertick abhandeln, insbesondere das Einhalten von Mindestzeiten und gerade das Entprellen von Tasten, auch mehreren gleichzeitig. Und wenn man sein System sauber analysiert und geplant hat, fällt möglicherweise das Timing für ein SW-UART for free ab.Timer verwendest Du, wenn Du ein Timing (nach oben und nach unten, z.B. UART-Emulation) einhalten willst. Die Verwendung von einfachen Warteschleifen zur Einhaltung von Mindestzeiten (z.B. Tastenentprellen, I2C-Emulation,...) ist meiner Ansicht nach legal.
MfG Klebwax
Lesezeichen