Exemple #1
0
/**
 * 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


	}
}
Exemple #2
0
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;
}