void uart_putchar(char c) { if (c == '\n') uart_putchar('\r'); loop_until_bit_is_set(UCSRA, UDRE); // Warten bis senden möglich UDR = c; return 0; } int main (void) { int a,b; char s[10]; // Register I/O festlegen DDRC=0x03; DDRD=0x60; //UCSRA=0x00; // Senden und Empfangen möglich TXD/RXD UCSRB=0x08; // Aktivieren von TX im Uart Control Register UBRRL= 51; //UBRRL=0x33; // Festlegen der Baud Rate ADMUX=0x02; // Initialisierung des Multiplexers ADCSRA=0xee ; // Initialisierung des AD-Wandlers PORTD=0x20; while(1) { a=ADC; // Aktueller Wert des ADC einlesen itoa(a,s,10); // Integer in einen String konvertieren // Nur aktualisieren, wenn sich A geändert hat if (a!=b) { _Display_init(); PutS(s); b=a; fdevopen(uart_putchar, 0); printf("Kanal 2: %s\r",s); // Weitergabe der Variable an putchar _delay_us(100); } } // while } //main //