Hallo,

Danke für deine Antwort...

Leider immer noch das selbe Spiel...


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

#define F_CPU 7372800 
#define USART_BAUD_RATE 115200 
#define USART_BAUD_SELECT (F_CPU/(USART_BAUD_RATE*16L)-1) 



void USART_init(void){  

    UBRRL |= (uint8_t) USART_BAUD_SELECT; 
	
	/* Aktivieren des Empfängers, des Senders und des "Daten empfangen"-Interrupts */
	UCSRB = (1<<RXCIE)|(1<<RXEN)|(1<<TXEN);

	/* Einstellen des Datenformats: 8 Datenbits, 1 Stoppbit */
	UCSRC = (1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0);


} 

void USART_transmit(uint8_t c){ 
   while(!(UCSRA & (1<<UDRE)));
   UDR = c; 
} 

void USART_transmit_string(uint8_t *string){ 
    while(!(UCSRA & (1<<UDRE)));
	while( *string){ USART_transmit (*string++); }
}


volatile static uint8_t data;

SIGNAL( SIG_USART_RECV ) 
{ 
    
   data = UDR;  

} 


int main (void)
{
// D A T E N R I C H T U N G :
//===============================================

//	PORTA Pin: 76543210	  ( 0 = Eingang/Pullup aus, 1= Ausgang/Pullup ein )
    DDRA   = 0b11111111;	//
    PORTA  = 0b00000000;	// 

//	PORTB Pin: 76543210	  ( 0 = Eingang/Pullup aus, 1= Ausgang/Pullup ein )	
    DDRB   = 0b00000000;	//
	PORTB  = 0b00000000;	//
	
//	PORTC Pin: 76543210	  ( 0 = Eingang/Pullup aus, 1= Ausgang/Pullup ein )
    DDRC   = 0b00000000;	//
	PORTC  = 0b11111111;	//
	
//	PORTD Pin: 76543210	  ( 0 = Eingang/Pullup aus, 1= Ausgang/Pullup ein )
    DDRD   = 0b11111111;	//
	PORTD  = 0b00000000;	//
	
	
 sei();
 
USART_init();
USART_transmit_string("USART INIT - OK  ");
 
 
while (1) { 

PORTA = UCSRA;
PORTD = data;

}
}