AT16:Im Datenblatt steht: Prescaler from Timer0 and 1 is shared

Gast #1838211
Da ich nicht gut aus dem Test rauslesen konnte, habe ich ein paar 
Fragen:

1. Es steht im DB, dass beide vershciedene Prescaler haben können, wird 
die Schnelligkeit dadurch beeinflusst weil sie den selben Prescaler 
neutzen müssen?

Wie schuts generell da drinn aus?
Wird für jeden einzelnen Timer ein eigener Oszillator erstellt?

Und kann ich jeden Timer einzeln mit seiner Frequenz betreiben ohne 
dadurch beeinflusst zu werden?

Was passiert eigentlich wenn ein Timer Ovf auslöst und danach noch 
einer?
Wird nach dem ersten Ovfl der erste normal weiterlaufen obwohk ein 
Interrupt vom 2ten ausgelöst wurde? Ich glaube schon aber ich bin mir 
nicht sicher, und mein englisch ist ziemlich mieß.

lg Hans
Gast
holger schrieb:
> Und dein Deutsch auch. Also setz dich jetzt
> noch mal hin und schreib alles noch einmal.

Also es geht um die Timer des AVR Controllers ATmega16.

Ich habe 3 Timer:

wobei jeder einzelne in einem anderen Modi betrieben werden kann.

Meine Frage jetzt lautet: Läuft der Timer nachdem er die Interrupt 
Routine aufgerufen hat (also nach seinem Überlauf) wieder von vorn los 
oder wartet er bis die ISR fertig ist und dann erst?

lg Hans
Gast
Und noch eine Frage:
Im Datenblatt steht, dass der Timer0 und der Timer1 den selben Prescaler 
teilen, wobei jeder Timer einen unterscheidlichen Prescalerwert 
aufweisen darf.

Läuft einer oder beide Timer jetzt langsamer weil es ja nur einen 
Prescaler gibt?

lg Hans
Gast
>Meine Frage jetzt lautet: Läuft der Timer nachdem er die Interrupt
>Routine aufgerufen hat (also nach seinem Überlauf) wieder von vorn los
>oder wartet er bis die ISR fertig ist und dann erst?

Der läuft einfach weiter.
Hättest Du doch gleich ATmega16 geschrieben statt AT16.  Hier ist doch 
kein Textadventure ...

Der Timer läuft konstant mit seinem Takt, ohne auf irgendwas zu warten, 
was er im Vorübergehen ausgelöst hat.  Und dem Prescaler ist es egal, 
wieviel Timer am selben Ausgang hängen.
Hans W schrieb:
> Und noch eine Frage:
> Im Datenblatt steht, dass der Timer0 und der Timer1 den selben Prescaler
> teilen, wobei jeder Timer einen unterscheidlichen Prescalerwert
> aufweisen darf.
>
> Läuft einer oder beide Timer jetzt langsamer weil es ja nur einen
> Prescaler gibt?

Jeder Timer läuft so schnell, wie er vom jeweiligen Prescaler 
eingestellt wurde. Lediglich der Zähler, der die Takte teilt, ist beiden 
Timern gemeinsam. Das braucht einen als Programmierer aber nicht zu 
interessieren. Für weitere Details siehe Figure 39, Seite 88 des 
Datenblatts vom ATmega16.

MfG Mark

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 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.