#include #include #ifndef F_CPU #define F_CPU 3686400UL /* Quarz mit 3.6864 Mhz */ #endif #define FOSC 1843200// Clock Speed #define BAUD 9600 #define MYUBRR FOSC/16/BAUD-1 #include /* definiert _delay_ms() ab avr-libc Version 1.2.0 */ #include /* in der aktuellen Version in util/ */ #define TRUE 1 #define FALSE 0 unsigned char counter1=0; //Counter für Taster3 /* Einfache Funktion zum Entprellen eines Tasters */ inline uint8_t debounce(volatile uint8_t *port, uint8_t pin) { if ( ! (*port & (1 << pin)) ) { /* Pin wurde auf Masse gezogen, 100ms warten */ _delay_ms(10); // max. 262.1 ms / F_CPU in MHz _delay_ms(10); if ( *port & (1 << pin) ) { /* Anwender Zeit zum Loslassen des Tasters geben */ _delay_ms(10); _delay_ms(10); return 1; } } return 0; } void USART_Init( unsigned int ubrr) { /* Set baud rate */ UBRRH = (unsigned char)(ubrr>>8); UBRRL = (unsigned char)ubrr; /* Enable receiver and transmitter */ UCSRB = (1<