-
-
Erfahrener Benutzer
Roboter Experte
@addict
wass betrift interrupts, ein beispiel fur eingang INT0/PD2/pin16
//algemeine interrupt einschalten (sonst lauft uerhaupt kein einziges interrupt)
SREG|=(1<<7);
//speziales interrupt fur eingang INT0/PD2/pin16 einschalten
GICR|=(1<<INT0);
//interrupt soll entstehen wenn eingang INT0/PD2/pin16 von hoch zu niedrich geht
MCUCR|=(1<<ISC01) | (1<<ISC00);
//dazu sollte man INT0/PD2/pin16 als eingang schalten
DDRD&=^(1<<PD2);
//diese function, wenn so geschrieben, wird vollautomatisch, jedesmahl ausgefuhrt, so oft wie die eingang INT0/PD2/pin16 niedrich geht
SIGNAL SIG_INTERRUPT0
{
//mache etwas, ein LED an/aus
}
Da gibts so 15 verschiedene art von interrupts die sind alle definiert in die datei iom32.h irgendwo auf deinem computer.
z.B. ein interrupt, immer wenn timer0 hoch zahlt und dann von 0xFF nach 0x00 weiter zahlt.
Ein interrupt wird automatisch ein laufendes program unterbrechen, die interrupt function wird ausgefuhrt, und wenn die interrupt function fertig ist, geht das laufende program wieder weiter wo es geblieben war gerade vor dem interrupt unterbrechung.
gruss
Henk
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen