* test.c * * Created: 29.05.2012 10:52:24 * Author: Markus */ #include #include #include #include #define F_CPU 1000000L // F_CPU Atmega8 1MHz #define BAUD 4800L // Baudrate #define UBRR_VAL ((F_CPU+BAUD*8)/(BAUD*16)-1) // Berechnung Baudrate,Rundugsfehler berücksichtigt #define BAUD_REAL (F_CPU/(16*(UBRR_VAL+1))) #define BAUD_ERROR ((BAUD_REAL*1000)/BAUD-1000) #if ((BAUD_ERROR>10)||(BAUD_ERROR<-10)) #error //systematischer Fehler in der Baudrate groeßer oder kleiner 1% und damit zu hoch #endif void setup_uart() { UBRRH = (char) (UBRR_VAL >> 8); // Baudrate einstellen UBRRL = (char) (UBRR_VAL); // Empfänger und Sender einschalten UCSRB = (1<