Kapitel 8: System Tick Timer
In Kapitel 5 habe ich in den Beispielen die Funktion delayMillis(uint16_t
delay)
verwendet und dabei auch erwähnt, dass dies eine sehr schlechte Methode ist, Delays zu erzeugen. Schauen wir uns zur Verdeutlichung noch einmal die Implementierung an:
1 void delayMillis (uint16_t delay) 2 { 3 uint16_t i = 0; 4 5 for (; delay > 0; --delay) 6 { 7 for (i = 0; i < 1245; ++i) 8 { 9 ; 10 } 11 } 12 }
Listing 8.1: Sehr schlechte Methode für ein Delay
Sie fragen sich jetzt möglicherweise, was an dieser Methode schlecht ist: Schließlich findet man beispielsweise in vielen Internet-Tutorials – und leider auch in einigen Fachbüchern – immer wieder diese Art der Implementierung. Und: Sie funktioniert doch, wie ...
Get STM32 -- ARM-Microcontroller programmieren für Embedded Systems - Das umfassende Praxisbuch now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.