Hi!
Leider lag das Wekzeug brach übers lange Wochenende...
Hier ist einer der Codes mit denen ichs versucht hab:

Code:
/****************************************************************************
    UART.c
    ------
    Übungsprojekt zum Empfang von Daten mit dem UART.
    Eine LED an Pin 0 von Port C soll gesteuert werden beim Empfang folgender
    Zeichen:
        '1' - LED ein.
        '0' - LED aus.


    Autor:    Christian Schifferle
    Datum:    November 2002
    Software: AVR-GCC
    needed
****************************************************************************/

#include <io.h>	// Wir brauchen Zugriff auf die I/O's des Controllers

#define F_CPU            8000000      /* 8Mhz */
#define UART_BAUD_RATE      9600      /* 9600 baud */

// Berechnung des Inhalts des UBBR-Registers
#define UART_BAUD_SELECT (F_CPU/(UART_BAUD_RATE*16l)-1)

// Datentypdefinitionen
typedef unsigned char	BYTE;
typedef unsigned short	WORD;



int main (void)
/****************************************************************************
    Hier ist der Programmeinstiegspunkt.
*/
{
    /* UART Control Register laden. Wir verwenden (noch)
       keine Interrupts. Hier wollen wir nur empfangen, also wird
       nur das Receiver Enable Flag gesetzt. */
    outp ((1 << RXEN), UCSRB);

    /* Baudrate einstellen */
	outp ((BYTE) 0x00, UBRRH);
    outp ((BYTE) UART_BAUD_SELECT, UBRRL);          


    // Port B als Ausgang konfigurieren
    outp (0xff, DDRC);
	PORTC=0xff;
	
    // Hier machen wir einmal etwas anderes zur Realisierung der
    // Endlosschleife. Wir setzen zu Beginn der Schleife ein Label.
    // Am Schleifenende springen wir direkt zu diesem Label.
    // Nicht schön, aber unheimlich schnell.
LOOP:
    // Prüfen, ob ein Zeichen empfangen wurde.

    if (inp (UCSRA) & (1 << RXC)) {     // Bit RXC im USR gesetzt ?
        switch (inp (UDR)) {          // Datenregister auslesen
            case '0': // LED einschalten
                sbi (PORTC, PINC0);
                break;
            case '1': // LED ausschalten
                cbi (PORTC, PINC0);
                break;
            default:  // Bei allen anderen Zeichen nichts tun
                break;
    }
}
    
goto LOOP;

} /* end of main */
Ich bin mir nicht sicher ob die Register alle korrekt benannt sind. Ansonsten hab ich kein Plan warums net läuft...
thx schonmal
gruz ciruz