Hi Dirk,
Zitat:
Beachten: bei vielen Ints muss das dazugehörende Register gelesen werden
|
Genau da fängt mein Problem an, ich werd aus dem Manual da nicht schlau.
Welche Register muss ich wie und mit welcher Syntax setzen?
GIFR=(1<<INTF0) bedeutet doch, im Global Interrupt Flag Register den INTF0 auf 1 setzen oder?
EDIT:
mit
Zitat:
#include <AVR/io.h>
#include <avr/interrupt.h>
int main (void) {
int i;
DDRB=0xff;
PORTB=0xff;
GIFR=(1<<INTF0);
GICR=(1<<INT0);
MCUCR =((1<<ISC01)|(1<<ISC00));
sei();
while(1)
{
while(i<50) i++;
PORTB--;
i=0;
}
return(0);
}
SIGNAL (SIG_INT0)
{
PORTB=0x00;
}
|
Geht es, würde es aber Zufallstreffer nennen, habs noch nicht wirklich verstanden...