/** * main function */ int main(int argc, char **argv) { // initialisiere alle Werte state = STATE_NONE; enlight = 10; time.hour = 1; time.minute = 0; time.second = 0; // Ausgänge für Stundenzeiger DDR_HOUR |= PORTMASK_HOUR; // Ausgänge für Minutenzeiger DDR_MINUTE |= PORTMASK_MINUTE; // Ausgänge für Sekundenzeiger DDR_SECOND |= PORTMASK_SECOND; // Eingänge für Menütaster, aktiviere Pullups DDRD &= ~(1 << PORTD2 | 1 << PORTD3); PORTD |= (1 << PORTD2 | 1 << PORTD3); // timer initialisieren init_timer(); while (1) { // State machine zum Ändern der Uhrzeit run_states(state, &time); wait_a_second(); // Prüfe ob Menuetaste gedrückt wurde und ändere Status if (a_pressed()) { state += 0x10; if ((state & 0xf0) == STATE_MENU_END) { state = STATE_NONE; } } #ifdef WITH_ENLIGHT // schalte die Uhrzeitanzeige an. if (b_pressed()) { enlight = 10; } #endif } }
int kbd_test_leds(unsigned short n, unsigned short *leds) { int x; unsigned i; i = 0; for (x=0; x < n; x++) { printf("toggle led %d \n", *(leds+ x*sizeof(short))); KBD_toggle_led(*(leds + x*sizeof(short))); wait_a_second(); } return 0; }