/* Headerfile einbinden */ #include "system.h" #include "control.h" /* globale Variablen */ volatile volatile usercontrol *st_controls = NULL; /** Hauptprogramm * @return Status der Programmbeendigung * */ int main (void) { /* Datenrichtung fuer Port A setzen 1=Ausgang (LEDs), 0=Eingang (Taster) */ DDRA = (PA3 | PA2 | PA1 | PA0); /* Datenrichtung fuer Port B setzen 1=Ausgang (LEDs), 0=Eingang (Taster) */ DDRB = (PB3 | PB2 | PB1 | PB0); /* Datenrichtung fuer Port C setzen 1=Ausgang (Power) */ DDRC = (PC7 | PC6 | PC5 | PC4 | PC3 | PC2 | PC1 | PC0); /* Datenrichtung fuer Port D setzen 1=Ausgang (Power) */ DDRD = (PD7 | PD6 | PD5 | PD4 | PD3 | PD2 | PD1 | PD0); /* Anlegen der Bedienelementliste */ st_controls = newUserControl(st_controls, &PORTA, PA4, &PORTA, PA0, &PORTC, PC0); st_controls = newUserControl(st_controls, &PORTA, PA5, &PORTA, PA1, &PORTC, PC1); st_controls = newUserControl(st_controls, &PORTA, PA6, &PORTA, PA2, &PORTC, PC2); st_controls = newUserControl(st_controls, &PORTA, PA7, &PORTA, PA3, &PORTC, PC3); st_controls = newUserControl(st_controls, &PORTB, PB4, &PORTB, PB0, &PORTD, PD0); st_controls = newUserControl(st_controls, &PORTB, PB5, &PORTB, PB1, &PORTD, PD1); st_controls = newUserControl(st_controls, &PORTB, PB6, &PORTB, PB2, &PORTD, PD2); st_controls = newUserControl(st_controls, &PORTB, PB7, &PORTB, PB3, &PORTD, PD3); /* Finale Endlosschleife */ while (true) { /* Bedienelemente abfragen*/ queryUserControls(st_controls); } /* Programm normal beenden */ return EXIT_SUCCESS; }