Timer0 OCM Tiny2313

OP #1241597
Gute Nacht liebes Forum,

ich habe ein Problem mit dem Tiny2313. Laut dem Datenblatt (Seite 82) 
existiert beim Timer0 die Möglichkeit einen Output Compare Match 
Interrupt zu generieren.
In meiner iotn2313.h finde ich aber keinen passenden Interrupt-Vektor? 
Hab ich da was falsch verstanden?

Grüße und gute Nacht, Julian
Gast
> Laut dem Datenblatt (Seite 82)

Du meinst vermutlich das Timer-Interrupt-Freigabe-Register TIMSK...

> existiert beim Timer0 die Möglichkeit einen Output Compare Match
> Interrupt zu generieren.

Nein, nicht "einen", sondern sogar zwei, nämlich über OCIE0A und OCIE0B.

> In meiner iotn2313.h finde ich aber keinen passenden Interrupt-Vektor?

Laut Seite 47 Tabelle 21 des Datenblattes liegen die beiden Vektoren an 
Adresse $0d und $0e. Falls in der Header-Datei für C diese Einträge 
wirklich fehlen sollten (ich weiß das nicht, ich werkele in ASM), dann 
solltest Du vielleicht mal schaun, ob es eine neuere Version gibt. Fehlt 
es dort auch, dann könntest Du ja Kontakt zum Autor der Datei aufnehmen.

> Hab ich da was falsch verstanden?

Vermutlich nicht.

...
OP
Danke schonmal für deine Antwort Hannes, jetzt weiß ich immerhin, dass 
ich mich nicht völlig verrant habe. Jetzt wäre es noch super, wenn mir 
jemand sagen könnte, wo ich eine "aktuelle" include-datei finde.

Ich habe eine relativ Neue Version von WinAVR (ca. 3 Monate alt). In der 
iotn2313.h dieser Version ist der Interrupt-Vektor für den Output 
Compare Match nicht vorhanden
Gast
> Ich habe eine relativ Neue Version von WinAVR (ca. 3 Monate alt). In der
> iotn2313.h dieser Version ist der Interrupt-Vektor für den Output
> Compare Match nicht vorhanden

Das werde ich jetzt weder "glauben" noch abstreiten, C ist nicht meine 
Baustelle... Aber:

Hinter dem Vektor-Makro verbirgt sich doch auch nur die Adresse in der 
Sprungtabelle. Was hindert Dich also daran, mal die anderen Vektoren mit 
der Interrupt-Sprungtabelle (und deren Adressen) im Datenblatt zu 
vergleichen, das System zu begreifen und Dir Dein eigenes Makro (oder 
Define oder wieauchimmer so ein Alias genannt wird) für den Vektor zu 
schreiben?

> für den Output Compare Match

Und nochmal: Es gibt nicht den Compare Match, es sind mehrere 
Compare-Kanäle, demnach auch mehrere Compare-Match-Interrupts, siehe 
Beschreibung der Sprungtabelle im Datenblatt.

...
OP
Lösung gefunden: In meiner Datei sind die Interrupt-Vektoren in einzelne 
Blöcke geteilt und mit entsprechender Kommentar-Überschrift versehen. 
Nur, dass sich der Timer0 COMPA Vektor unter der Überschrift "Analog 
Comparator" versteckt hat.

Danke euch allen!
Gast
Man gut, dass es Assembler gibt... ;-)

(Da muss man nicht so vielerlei verschiedene Dokumente beachten, da ist 
alles so schön einfach und überschaubar...)

...

Antwort schreiben

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