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
> 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. ...
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
> 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. ...
in meiner Version der iotn2313.h vom 11.06.08 sind die durchaus drinnen..TIMER0_COMPA_vect und TIMER0_COMPB_vect...
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!
Man gut, dass es Assembler gibt... ;-) (Da muss man nicht so vielerlei verschiedene Dokumente beachten, da ist alles so schön einfach und überschaubar...) ...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.