Hallo Zusammen,
ich bin jetzt auf eure Rate angewiesen, seit 3 Tagen versuche ich, eine Zechenkette in Hyperterminal zu zeigen, es hat nicht geklappt.
ich weiss nicht, was ich falsch mache.
Ich programmiere Atmega128, hier ist mein Code
Code:
#include <avr/io.h>
#include <inttypes.h>
#include <avr/interrupt.h>
#include <avr/signal.h>

#define F_CPU       16000000UL

#define BAUD        9600UL
#define UBRR_BAUD   ((F_CPU/(16UL*BAUD))-1)
volatile uint8_t zeichen;
volatile uint8_t buffer;


// USART initialisieren
void uart_init0(void)
{
    // Baudrate einstellen (Normaler Modus)
    UBRR0H = (uint8_t) (UBRR_BAUD>>8);
    UBRR0L = (uint8_t) (UBRR_BAUD & 0x0F);
	UCSR0B=0;
    // Aktivieren von receiver und transmitter
    UCSR0B = (1<<RXCIE0)|(1<<RXEN0)|(1<<TXEN0);

    // Einstellen des Datenformats: 8 Datenbits, 1 Stoppbit
	UCSR0C=0;
    UCSR0C = (1<<UMSEL0)|(1<<UCSZ01)|(1<<UCSZ00);
}

										
SIGNAL(SIG_UART0_RECV){		     
	zeichen= UDR0;	
	}

									
void UART_SendByte(uint8_t buffer){
	while ( !( UCSR0A & (1<<UDRE0)));
	UDR0=buffer;
	}

void putstring(char *s){
	
	while (*s!=0){
	UART_SendByte(*s);

		*s++;
		}
}
int main(void)
{
	
	DDRE=0xFF;
	PORTE=0xFF;
    uart_init0();
	sei();
    while (1){

	if(zeichen==0x0D){ 
	putstring("Hallo Welt\n");
	
	}
	}
}