Gast
#5737
Wer kann mir sagen was an dem folgenden Programm nicht stimmt.
Wenn der Externe Interrupt 0 ausgelöst wird sollten die Leds
einsgeschaltet werden und bei nochmaligen drücken wieder ausgeschaltet
werden. Beim 1. Interruptaufruf funktioniert es(die Leds gehen an). Aber
wenn ich nochmal drücke passiert nichts.
HILFE!!
#include <io.h>
#include <sig-avr.h>
#include <interrupt.h>
uint8_t a;
SIGNAL(SIG_INTERRUPT0)
{
if (a==1)
{
outp(0xFF,PORTB);
a=0;
}
if (a==0)
{
outp(0x00,PORTB);
a=1;
}
}
SIGNAL(SIG_INTERRUPT1)
{
outp(0xFF,PORTB);
}
int main(void)
{
outp(0xFF,DDRB);
outp(0x00,DDRD);
outp((1<<ISC01)|(1<<ISC11),MCUCR);
outp((1<<INT0)|(1<<INT1),GIMSK);
a=0;
sei();
for(;;){}
}