main.c :
Code:
#define CPU_Frequency 4000000       // 4Mhz-Quarz
#define UART_BAUD_RATE 9600 // 9600 Baud


#include <avr/io.h>
#include <avr/signal.h>
#include <avr/interrupt.h> 

#include <stdlib.h>

#include "funktionen.c"
#include "bitdef.h"
typedef unsigned char  BYTE;
typedef unsigned short WORD;

//************************************************************************************************************************

void warten(int t) //ermöglicht Pausen
{
	 int h;
	 for (;t>0;t--)
	 {
		  for (h=70;h>0;h--) {}
	 }
	 return;
}

void uart_init()
{
	outp( (CPU_Frequency / (UART_BAUD_RATE*16L))-1 , UBRRL );
	outp( 0, UBRRH );
	outp( (1 << URSEL) | (3 << UCSZ0), UCSRC);
	outp( (1 << RXCIE) | (1 << TXEN) | (1 << RXEN), UCSRB);
	
	sei();
} 


void uart_nachricht(char* senden) {

for (; *senden != '\0'; senden++) {
    loop_until_bit_is_set(UCSRA, UDRE);
	UDR=*senden;
	} 
	loop_until_bit_is_set(UCSRA, UDRE);
	UDR = 13;
}

SIGNAL (SIG_UART_RECV)  {
char ch;
 ch = inp (UDR);              // Datenregister auslesen
    /*    if (inp (USR) & (1 << OR)) { // OverRun Bit gesetzt ?
           // Es ist was verloren gegangen / zu lange aufs Auslesen gewartet...
		   uart_nachricht("UART: Overrun-Bit gesetzt! Nicht schnell genug ausgelesen!");
        }
	*/
char buffer[1]; buffer[0] = '\0'; buffer[1] = '\0';
buffer[0] = ch;

uart_nachricht("Daten empfangen! Char: ");
uart_nachricht(buffer);
}




int main()
{
DDRA = B00000111; // PortA Pin 0,1,2 als Ausgang, Rest als Eingang
DDRC = 0xff; // PortC als Ausgang

	int x = 0; // ADC-Wert
	ADCSRA =  _BV(ADEN) | _BV(ADPS2);
	//Aktivierung des ADC, festlegen eines Prescalers von 16 --> 4Mhz/32=125kHz
	//Starten einer einzelnen Konvertierung
	//Start einer Wandlung
	


uart_init();
uart_nachricht("Initalisierung...");
uart_nachricht("Übertragungsrate: 9600 Baud");


for (;;) { // bei 30 läuft der Motor stabil!
PORTA = B00000001; // Rote-LED an
// motor...
PORTC = B00001010;
warten(3000);
PORTC = B00001001;
warten(3000);
PORTC = B00000101;
warten(3000);
PORTC = B00000110;
warten(3000);
}

}