Forum: Mikrocontroller und Digitale Elektronik Compiler nörgelt über interrupt


von LaKo (Gast)


Lesenswert?

Hiho! Ich hab versucht Rahul's Uhr einfach mal zu kompilieren (danach 
mach ich dann noch mehr damit :-) 
Beitrag "Ziemlich simple Uhr"
Compiliere mit WinAVR20071221 und bekomme nen error bei Zeile:

__interrupt void TIMER1_COMPA_Interrupt(void)

Error:expected '=', ',', ';', 'asm' or '__attribute__' before 'void'

Was stimmt denn nu nicht?

Grüße

LaKo

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

LaKo wrote:

> Was stimmt denn nu nicht?

Der Code.  Der ist für einen anderen Compiler geschrieben als AVR-GCC.
Im AVR-GCC/avr-libc sieht das ungefähr so aus:
1
#include <avr/interrupt.h>
2
3
ISR(TIMER1_COMPA_vect)
4
{
5
   ...
6
}

Wird aber vermutlich nicht das Einzige sein, was du dann ändern musst.

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Es stimmt alles...bis auf den Compiler ;-)

Die Quellen sind nich für avr-gcc geschrieben...sollte schon viel früher 
meckern, zB weil es keine intrinsics.h gibt.


1
#include <avr/io.h>
2
#include <avr/interrupt.h>
3
4
...
5
6
#define SEI sei()
7
#define CLI cli()
8
9
...
10
11
ISR (TIMER1_COMPA_vect) // oder so ähnlich statt
12
13
// #pragma vector = TIMER1_COMPA_vect
14
// __interrupt void TIMER1_COMPA_Interrupt(void)

von LaKo (Gast)


Lesenswert?

Danke euch beiden!
Ja er meckerte früher....bloß dass es irgendwas nicht gibt....dann 
löscht mans halt raus ne :-D

Jetzt nörgelt er nicht mehr und ich erwarte grad gespannt die 
übertragung zum microcontroller...."aus USB mach rs232" is doch ätzend

von Christian R. (supachris)


Lesenswert?

LaKo wrote:
> Danke euch beiden!
> Ja er meckerte früher....bloß dass es irgendwas nicht gibt....dann
> löscht mans halt raus ne :-D

Nun ja, das macht natürlich Sinn kopfkratz

> Jetzt nörgelt er nicht mehr und ich erwarte grad gespannt die
> übertragung zum microcontroller...."aus USB mach rs232" is doch ätzend

Das ist genaus sinnbefreit, USb zu RS232 ist nicht das Problem, das geht 
sehr gut und sehr schnell. Aber USB ist nun mal nicht für Bit-Bang 
geeignet. Wieder an der falschen Stelle gespart.

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.