Forum: Compiler & IDEs Verzögerungsschleife


von Daniel (Gast)


Lesenswert?

Hallo,

ich programmiere gerade eine Verzögerungsschleife.
Dazu nehme ich eine while-Schleife mit 18 Umdrehungen für 10us, bei 
8MHz.
Leider sind es nur 4.5us.
Und wenn ich den Wert auf 36 verdoppel sind es 12.75us.
Nun stellt sich mir die Frage: Wie kann das sein?
Und gibt es vielleicht bessere Wege für Verzögerungsschleifen?

Dann dachte ich füge ich noch eine nop-Funktion vom Assembler ein, weil 
davor war die while-Schleife ganz leer.
#asm nop #endasm hab ich mir abgeguckt, funktioniert aber irgendwie auch 
nicht.

schonmal vielen Dank
Schonmal vielen Dank

von Joerg Wunsch (Gast)


Lesenswert?

asm volatile("nop");

Ansonsten #include <avr/delay.h>.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.