/* Projekt: Eingabe-/Ausgabe-Uebungsprojekt mit Interrupt * Author: Dieter Schmidt * Schaltung: s. auch Uebungsprojekt 2 bwz. 4 * - Port B Ausgang -> LEDR, LEDB, LEDG * - Port D.2 Eingang -> Taster * Aufgabe: * - T: buffer erhoeht sich um eins * - Ausgabe des Buffers: LEDR, LEDB, LEDG */ #include #include #include uint8_t buffer = 1; ISR (INT0_vect) { if (!(PIND & (1 << PD2))) buffer++; } int main(void) { // Hardware-Initialisierung und Konfiguration DDRB = 0xFF; PORTB = 0xFF; DDRD = 0x00; PORTD = 0xFF; GIMSK = 0x40; GICR = 0x40; MCUCR = 0x02; sei(); // Interrupts zulassen while (1) { PORTB = buffer; } return 0; }