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

Gast #1838211
Lesenswert?
• ▲
▼
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 #1838218
Lesenswert?
• ▲
▼
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 #1838223
Lesenswert?
• ▲
▼
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 #1838224
Lesenswert?
• ▲
▼
>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.
#1838226
Lesenswert?
• ▲
▼
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.
#1838241
Lesenswert?
• ▲
▼
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

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.

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.