Forum: Mikrocontroller und Digitale Elektronik Taktrate


von Charly Peter (Gast)


Lesenswert?

Hallo Zusammen,

ich möchte die Wartezeit in ms für die nachfolgende Warteschleife
bestimmen. Wo kann man die Taktrate der einzelnen Befehle ermitteln.
Der Atmega 169 auf dem das Programm läuft taktet mit 32kHz.

warte:  inc  r20  ;Wait
    brne  warte
    inc  r21  ;Wait
    brne  warte

Vielen Dank im Vorraus
Charly

von Manos (Gast)


Lesenswert?

Am besten zusammenrechnen anhand der Tabelle aus dem Datenblatt ab Seite
343...

Um genau sagen zu können wie lange Deine Warteschleife arbeitet müßte
man ebenfalls die Startwerte von R20 und R21 wissen...

von Bri (Gast)


Lesenswert?

Nimm einfach das AVR Studio und simuliere die Warteschleife. Im AVR
Studio kannst du die Taktfrequenz einstellen und hast auch eine
Stoppuhr, die du vor der Schleife auf 0 stellen kannst.

von Irgwer (Gast)


Lesenswert?

angenommen r20 und r21 sind mit 0 initialisiert:

warte: inc r20    (1 Cycle * 256) * 255
       brne       (2 Cycle * 255 + 1 Cycle) * 255
       inc r21    1 Cycle * 256
       brne       (2 Cycle * 255 + 1 Cycle)
--------------
      196352 Cycles

das Umrechnen in ms überlass ich dir.

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.