www.mikrocontroller.net

Forum: Compiler & IDEs Rechnet AVR Studio falsch oder ich?


Autor: Björn Zacher (whocares)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So mal angenommen ich hab Timer0 mit nem prescaler von 1024 eingestellt
und ich arbeite mit 8MHz. Dann müsste doch alle 7812,5 Takte (rein
rechnerisch) um 1 inkrementiert werden. Wenn ich mir das ganze mal im
AVR Studio anschau und mit genau diesen einstellungen arbeite dann
inkrementiert AVR Studio genau alle 1024 Takte. Also entweder rechne
ich falsch oder die kerle haben da n riesen bockmist gebaut.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie stellst Du dir den halben Takt vor??

Ein Takt ist ein Takt, egal ob bei 8MHz oder bei 1MHz. Du bringt
Mikrosekunden und Takte durcheinander.

Wenn also das Studio alle 1024 Takte inkrementiert, ist das völlig
korrekt. Der Zähler wird alle 7,8 Millisekunden inkrementiert.

Autor: Björn Zacher (whocares)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das jemand auf dem halben takt rumreiten wird war mir ja fast schon
klar, nicht umsonst hab ich danach was in klammern geschrieben.

Ok gehn wir das ganze mal anders an. 8MHz sind 8 000 000 Takte  die
sekunde, 1 MHz wären also 1 000 000. Egal wie mans dreht und wendet AVR
Studio erhöht bei 8 Mhz genau bei 128 us und das sind definitiv keine
7,8 Millisekunden.

Autor: Fritz Ganter (fritzg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> inkrementiert AVR Studio genau alle 1024 Takte

>AVR Studio erhöht bei 8 Mhz genau bei 128 us

Also, was den jetzt?

Autor: Marco S (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Björn.

Das sind keine 7812.5 Takte sondern es handelt sich um eine Frequenz
von 7812.5 Hz, mit welcher der Timer0 inkrementiert wird. So wie du das
beschreiben hast, ist es richtig. Bei einem Prescaler von 1024 werden
1024 Takte des (Quarz) zu einem Takt des Timer0 verwandelt.

Gruß Marco

Autor: Jens D. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei 8 000 000Hz und einem Prescaler komme ich auf 128µs pro INC des
Timers!

du musst zu erst 8 000 000Hz / 1024 rechnen macht 7812,5Hz
7812,5Hz heisst 7812,5 mal kommt ein takt in der Sekunde
1/7812,5Hz = 128µS

Gruss

Autor: Bernd Klein (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
und multipliziert man nun die 128us wieder mit der Quarzfrequenz kommt
man wieder auf den Prescaler 1024 - das was du in AVR-Studio siehst

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.