Hallo!

Ich versuche mich gerad ein wenig an C und möchte gern Bytes vom PC empfangen und am PortC durch eine LED-Leiste anzeigen lassen. Hier mein Code (Aus verschiedensten Tutorials zusammenkopiert):

Code:
#include <inttypes.h>
#include <avr/io.h>
#define F_CPU 7372800L
#define BAUD 9600L
#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

int main(void)
{
    UCSRB |= (1<<RXEN);                // UART RX einschalten
    UCSRC |= (1<<URSEL)|(3<<UCSZ0);    // Asynchron 8N1

    UBRRH = UBRR_VAL >> 8;
    UBRRL = UBRR_VAL & 0xFF;
    DDRC = 0xFF;
    PORTC = 255;


        while (!(UCSRA & (1<<RXC)))  // warten bis Zeichen verfuegbar
		;
	    {
			PORTC = UDR;
	    };
}
Was passiert ist dass die LED-Leiste GANZ kurz leuchtet (programmstart) und dann aus ist. Ich habe schon geschaut, ob es vllt mit 1200 Baud (im Terminal-Prog eingestellt) läuft, wegen des /8-Fuses, aber ist nicht. Hab den Ausgang (TXD) der USB-Uart-Bridge an RXD am Mega8 angeschlossen.
Kann mir wer sagen, was ich falsch mache? Hab schon hier im Forum viel rumgelesen, aber dabei keine neuen Erkenntnisse gewonnen.