Irgendwie bekomm ich beim compilieren immer die meldung "error: two or more data types in declaration of `__vector_11'" ... hab schon viel versucht und ich weis nicht wo mein fehler liegen soll ... hab den code nur hier so leicht minimiert ... mfg alexthbe #include <inttypes.h> #include <avr/interrupt.h> #include <avr/signal.h> #include <avr/io.h> void INTERRUPT(SIG_OVERFLOW2) { sei(); } void main (void) { TCCR2 = 0x05; ASSR = 0x08; timer_enable_int (_BV (TOIE2)); sei(); for(;;); }
Hmm, was soll das sei () in der Interrupt-Service-Routine? Deklariere die ISR einfach so: SIGNAL (SIG_OVERFLOW2) oder INTERRUPT (SIG_OVERFLOW2) Gruss, Alex
Vergiß INTERRUPT. Jemandem, der noch nichtmal so recht verstanden hat, wie diese Makros überhaupt arbeiten, sollte man INTERRUPT besser gar nicht erst erzählen -- es wäre u. U. die beste Variante, sich damit ins Knie zu schießen. (Die Begründung bzw. die Unterschiede zwischen SIGNAL und INTERRUPT sind hinlänglich diskutiert worden, bitte die Suchfunktion des Forums dafür benutzen.) Ganz davon abgesehen, selbst ein kurzer Blick auf demo.c (das umfänglich dokumentiert ist) hätte genügt, die richtige Benutzung von SIGNAL zu lernen...
ja ich hab das schon vorher mit beidem probiert ... INTERRUPT oder SIGNAL beides das selbe ...
Wie wäre es, wenn Du mit dem Lesen der Doku und Beispiele beginnen würdest, statt wild auszuprobieren?
wie wäörs wenn mir hier bitte jemand hilft weil ich hab kein plan was ich weiter machen soll ... hab tausend beispiele ausprobiert die gehen hab verglichen und sonst was getan aber des will einfach nich ...
ok fehler gefunden ... void INTERRUPT (SIG_OVERFLOW2) -> INTERRUPT (SIG_OVERFLOW2) oder eben signal ... geht mit beidem ...
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.