-
-
Erfahrener Benutzer
Roboter Genie
Hallo sahra,
dann sieh dir Mal die Funktionen _delay_ms und _delay_us (Header util/delay.h) an.
Deine For-Schleife tut nichts was einen bleibenden Effekt hat, die Zählvariable wird nie wirklich verwendet, ergo kann der Compiler sie wegoptimieren. Damit läuft dein Programm einfach nur mit Maximalgeschwindigkeit.
Ersetze die Schleife daher durch eines der oben genannten Funktionen, die erzeugen dann die gewünschte Verzögerung.
Wichtig bei der Verwendung von Funktionen aus delay.h ist nur, dass du das Makro F_CPU entweder beim Compileraufruf oder vor der include-Direktive definierst. Normalerweise ist ersteres Variante bereits im Makefile enthalten und muss nur auf die Frequenz des AVR angepasst werden.
mfG
Markus
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen