Moin, ich bin gerade auf der Suche welcher Interruptvector bzw. welche Definition gilt. Dazu hab ich den neuen WinAVR installiert. Darin gibt es ein H File für den 261 welches das iotnx61.h mit einbindet. Leider finde ich nicht die Definition für den Interrupt der Input Capture Unit? Wie ist die Schreibweise in GCC? ISR(TIMER0_CAPT_vect) ?? Gruss Patrick
Wenn Du den WINAVR installiert hast, warum schaust Du dann nicht einfach in die libc-Doku (die wird schließlich automatisch mitinstalliert). Da steht alles drin. Abgesehen davon entsprechen die Vektornamen i.d.R. den in der Interrupt-Tabelle im jeweiligen Datenblatt angegebenen (bis auf das angehängte "_vect" natürlich).
in der Doku hab ich nichts gefunden, aber ich glaub es müsste SIG_INPUT_CAPTURE0 sein Gruss Patrick
Ein kurzes <Strg>+<F> in der iotnx61.h sagt, dass es tatsächlich "TIMER0_CAPT_vect" heißt, allerdings steht da wörtlich:
1 | /* ADC Conversion Complete */
|
2 | #define TIMER0_CAPT_vect _VECTOR(16)"
|
:P hth. Jörg
Patrick wrote: > in der Doku hab ich nichts gefunden, aber ich glaub es müsste > SIG_INPUT_CAPTURE0 sein Die "SIG_IRGENDWAS"-Namen sind veraltet. Die gehörten ursprünglich zu den ISR-Vorgängern "SIGNAL". Wie ich oben geschrieben habe, einfach Name aus dem Datenblatt (mit Underscores statt Blanks) und "_vect" hinten dran. @Jörg: Schön, das ist natürlich ein dicker Hund. Allerdings halte ich die Vektornamen für weitgehend selbsterklärend, so dass es mit ein wenig Überlegung eine eindeutige Zuordnung geben sollte... Allerdings ist natürlich problematisch, dass dank Doxygen der Fehler auch in der Dokumentation steckt und man sich auch in der Tabelle nen Wolf suchen kann. Fällt allerdings schon auf, dass da mitten zwsichen den ganzen Timer-Vektoren einsam und verlassen ein ADC-Vektor steht...
Das ist zwar kein Doxygen-Kommentar, aber...
1 | <VECTOR17> |
2 | <PROGRAM_ADDRESS>$010</PROGRAM_ADDRESS> |
3 | <SOURCE>TIMER0_CAPT</SOURCE> |
4 | <DEFINITION>ADC Conversion Complete</DEFINITION> |
5 | </VECTOR17> |
So steht's im partdescription-XML-File von Atmel. :-/ Da haben wir es dann auch in der avr-libc geerbt, und von da ist es auch in die Doku gewandert. :-/ Mach mal 'nen Bugreport bei Atmel auf dafür.
Jörg Wunsch wrote: > Das ist zwar kein Doxygen-Kommentar, [...] Ah so, ich hatte in die entsprechende .h-Datei gar nicht reingeschaut. Aber da sich die Tabelle in der Beschreibung der interrupt.h befindet, hätte ich da auch selbst drauf kommen können... > [...] aber... >
1 | <VECTOR17> |
2 | <PROGRAM_ADDRESS>$010</PROGRAM_ADDRESS> |
3 | <SOURCE>TIMER0_CAPT</SOURCE> |
4 | <DEFINITION>ADC Conversion Complete</DEFINITION> |
5 | </VECTOR17> |
> > So steht's im partdescription-XML-File von Atmel. :-/ Da haben > wir es dann auch in der avr-libc geerbt, und von da ist es auch > in die Doku gewandert. :-/ Aha. > Mach mal 'nen Bugreport bei Atmel auf dafür. OK... Gruß Johannes
kann mal einer die aktuelle Version der iotnx61.h anhängen? Ich glaub da gibt's viele Versionen wo jeweils andere "falsche" Bezeichnungen enthalten sind. Gruss Patrick
Patrick wrote: > kann mal einer die aktuelle Version der iotnx61.h anhängen? Ich glaub da > gibt's viele Versionen wo jeweils andere "falsche" Bezeichnungen > enthalten sind. Also bis auf den einen falschen Kommentar wüsste ich von keinem Fehler. Und das Problem ist doch jetzt hoffentlich endgültig geklärt, oder etwa nicht?
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.