Taktrate

Gast #268208
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
Gast #268209
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...
Gast #268211
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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.