Gast
#100032
Hi Leute :)
Ich versuche gerade verzweifelt eine Interruptroutine in C
einzubinden.
Ich habe ein kleines c Programm und nun soll ein Interrupt ausgelöst
werden. Die Interruptroutine ist in ASM geschrieben.
Die Lösung
SIGNAL(SIG_OUTPUT_COMPARE1A )
{
synchro();
}
(synchro() ist die in asm geschriebene Funktion)
ist wenig brauchbar, da zu langsam.
Die Datei synchro.S sieht im Moment ca. folgendermaßen aus:
.global synchro
.func synchro
synchro:
...
ret
.endfunc
Nun würde ich gerne den Compiler dazu bringen beim Auslösen des
Interrupts direkt meine Routinge anzuspringen.
Ich habe folgenden Tip bekommen:
Ich soll die Datei so umbauen:
#include <avr/io.h>
.global SIG_OUTPUT_COMPARE1A
SIG_OUTPUT_COMPARE1A:
...
reti
Leider funktionierts nicht. Wie dann ?
Die erste Variante funktioniert, also habe ich den Interrupt korrekt
freigeschaltet.
Muss die Datei einen bestimmten Namen haben (ausser .S) ?
Muss ich etwas in die .c Datei includieren ?
Noch mehr Ideen ?
Danke schonmal
Grüße
Tobi