So nun hänge ich an dem Problem das ich die Hardware Interrupts nicht verarbeiten kann, bzw einfach nur nix passiert ...
also in meiner init sieht es so aus das ich erst mal INT0 und INT1 aktiviere:
Code:
void init(void)
{
//configure INT0 & INT1 - the external interrupt rissing
GICR |= (1<<INT0) | (1<<INT1);
MCUCR |= (1<<ISC00) | (1<<ISC01) | (1<<ISC10) | (1<<ISC11);
}
und wenn ein Interrupt ausgelöst wird, soll nur die entsprechende Var um 1 erhöht werden:
Code:
SIGNAL (SIG_INTERRUPT0)
{
left_trigger ++;
}
SIGNAL (SIG_INTERRUPT1)
{
right_trigger ++;
}
in meiner main() passiert momentan nix anderes als das die init() aufgerufen, die UART und die Interrupt mit sei() aktiviert wird. Und es erfolgt alles 500ms eine Ausgabe der Variablen = right_trigger,left_trigger.
Woran kann es liegen das der Interrupt nicht ausgelöst wird ? Denn die Variable bleib bei 0 !!!
Der pegel wechselt sauber von 0 auf 4 Volt und zurück, mit Messgerät gemessen an beiden Ports.
Alecs
Lesezeichen