Forum: Mikrocontroller und Digitale Elektronik mega8515 Timer/Counter0 Compare Match Interupt


von Andreas K. (ergoproxy)


Lesenswert?

Wie schreibt man in C die Abfrage für den Timer/Counter0 Compare Match 
des Atmega8515 ( wenn ich das Datenblatt richtig deute Vektor 15 ). Ich 
hab schon in den Include-Files nachgesehn aber da geht es 
merkwürdigerweise nur bis zum Vektor 12.

Ginge es vllt mid dem Code ?
1
ISR(__VECTOR(15))
2
{
3
    /* Interrupt Code */
4
}

p.s. Ich seh grade das gesammte Register OCR0 scheint auch nicht 
deffiniert zu sein. Hat das einen bestimmten Grund ? ( hab das neuste 
WinAVR ) oder schau ich an der falschen Stelle nach ? ( 
...\WINAVR\avr\include\avr\io8515.h ) Wenn ichs Compiliere dann kommt 
kein Fehler, obwohl ich auf das Register zugreife. Müsste da nicht eine 
Warnung oder Fehler kommen ?

Gruß ErgoProxy

von Andreas K. (ergoproxy)


Lesenswert?

Niemand eine Idee ? Mein ganzes restliches Programm braucht den Interupt 
=/

von Stefan E. (sternst)


Lesenswert?

1
#include <avr/interrupt.h>
2
3
...
4
5
ISR (TIMER0_COMP_vect) {

von Shazbot S. (shazbot)


Lesenswert?

also bei mir heisst die datei iom8515.h und da steht alles drin.

von Timmo H. (masterfx)


Lesenswert?

Erstens muss es heißen:
1
ISR(__VECTOR(14))
weil im die 14 (0x0E) eben die Adresse ist.
Zweitens wäre das auch in der iom8515.h definiert. Die io8515.h ist für 
den AT90S8515. Aber du sollst auch nicht diese Header-Datei direkt 
einbinden sondern das über die interrupt.h bzw. die io.h machen lassen. 
Dafür musst du halt nur den µC auch definieren.

von Andreas K. (ergoproxy)


Lesenswert?

Also hab ich doch in der falschen Datei geschaut. Eingebunden ist die 
io.h und interupt.h nur ich hab halt den Namen der Routine gesucht und 
deshalb in den Includes geschaut.

Vielen Dank an Alle hat mir sehr geholfen =)

von Stefan E. (sternst)


Lesenswert?

Andreas K. wrote:
> ... nur ich hab halt den Namen der Routine gesucht ...

Für sowas schaut man einfach in die Dokumentation:
http://www.nongnu.org/avr-libc/user-manual/group__avr__interrupts.html

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
Noch kein Account? Hier anmelden.