#include #include #ifndef F_CPU #define F_CPU 6000000L #endif #define BAUD 9600L //Berechnungen #define UBRR_VAL ((F_CPU+BAUD*8)/(BAUD*16)-1) //clever Runden #define BAUD_REAL (F_CPU/(16*(UBRR_VAL+1))) //Reale Baudrate #define BAUD_ERROR ((BAUD_REAL*1000)/BAUD-1000) //Fehler in Promille //#if ((BAUD_ERROR>10)||(BAUD_ERROR<-10)) // #error Systematischer Fehler der Baudrate größer 1% und damit zu hoch! //#endif void adc_init (void) { ADCSRA |= (1< 8Mhz/128 = 62.5kHz //Der Prescaler sollte zwischen 50-200kHz ergeben ADMUX = 0; // Auswahl von ADC0 durch MUX } void ser_init (void) { UCSRC|=(1<>8; UBRRL= UBRR_VAL & 0xFF; //Baudrate auf 9600 Bits/sek } int uart_putc(unsigned char c) { while(!(UCSRA & (1<