Danke! Sieht gut aus, ob es geht konnte ich noch nicht testen, denke aber schon. Wäre aber gut wenn u es als Quelltext postest, dann kann man gleich rein schaun! EInfach hier rein kopieren, markieren und dann CODE-Button klicken

So:

Code:
/* 
Testprogramm 2

Aufgabe:
Testen vom MAX232 und RS232 Schnittstelle indem
das Wort Hallo und eine Zahl an die RS232 sendet!
Unter Windows kann man das mit dem Hyperterminal
anzeigen lassen (9600 Baud einstellen)
Noch einfacher kann man es anzeigen, wenn man
in der Bascom Entwicklungsumgebung unter Tools
TERMINAL EMULATOR aufruft (oder Modem Symbol klickt)

	Chip       Mega 16
	Takt 	   8.00 MHz 
	Stand:     läuft
	Größe      396 Byte
	Version	   1.0						
	Verfasser: Dino Dieter				*/
	
#include <avr/io.h>
#include <stdlib.h>

//Deklaration der Funktionen
void putc(char c);				//Ausgabe eines Zeichen über RS232
void puts(char *s ); 			//Ausgabe eines Strings über RS232
void init(void);				//Einstellen der Hardware des uC

// Baudrate berechen zum einstellen des UART. Lassen wir vom Complier berechnen
#define F_CPU            8000000      /* 8.000 */
#define UART_BAUD_RATE      9600      /* 9600 baud */
#define UART_BAUD_SELECT (uint)(F_CPU/(UART_BAUD_RATE*16l)-1)

//Definition einiger Datentypen, reine Geschmacksache
#define uchar	unsigned char		// 1 Byte ohne Vorzeichen 0 bis 255 erlaubt
#define uint	unsigned int		// 2 Byte ohne Vorzeichen 0 bis 65535 erlaubt

// Sendet ein Zeichen über die UART Schnittstelle (RS232) +++++++++++++++++++++
void putc(char c) 
{
	while( (UCSRA & 1<<UDRE) == 0 );	//warten, bis UDR leer ist
    UDR = c;							//und ausgeben, den Rest macht der uC alleine
}

//Sendet einen String über die UART Schnittstelle (RS232) +++++++++++++++++++++
void puts(char *s ) 
{
    while( *s )			//Schleife solange wiederholen bis 0 kommt. Strings in 
						//C werden immer mit einer 0 abgeschlossen.
    putc( *s++ );		//ein Zeichen ausgeben und nächste Zeichen einstellen
}


//Einstellen der Hardware des AVR +++++++++++++++++++++++++++++++++++++++++++++
void init(void) 
{
	// UART einstellen
	UCSRB = (1<<TXEN); 			 // Senden erlauben
	//Baud rate einstellen für 9600 BAUD bei 8 MHz
	UBRRH = UART_BAUD_SELECT >> 8;	 // oberen 4 Bits schreiben
 	UBRRL = UART_BAUD_SELECT;	     // unteren 8 Bits schreiben
}

//Hauptprogramm, hier startet der uC ++++++++++++++++++++++++++++++++++++++++++
void main (void) 
{

    init();				// Hardware einstellen gehen
	uint i;		    	// Variable bekannt machen
	uchar s[10];		// Variable für itoa, zum umrechnen einer INT in einen String
						
	for(;;)				// Endlosschleife
	{
		itoa( i, s, 10 );	// i umrechen in String für die Ausgabe. Ergebnis steht
							// dann in s.
		puts("Hallo ");		// Text senden
		puts(s);			// Zahlen ausgeben 
		puts( "\n\r" );		// Zeilenumbruch senden  -- >> neue Zeile
		i++;				// i um 1 erhöhen.   i++ -->  i = i + 1
	}
	
}