Hallo

Ich habe schon einen Thread im Hardwareforum, denke aber dass es hier besser passt.
Und zwar hab möchte ich meinen Mega128 dazu bringen etwas auf der RS232 auszugeben. Ich hab die Schnittstelle 1 verwendet. Einen Pegelwandler hab ich auch auf meiner Platine. Hab die Schnittstelle auch schon einemal mit einem Mega8 zum laufen bekommen. Nur mit dem Mega 128 will Sie noch nicht richtig.
Kabel verwende ich ein 1 zu 1. Habe volgenden Code verwendet:

Code:
#include <avr/io.h>
#define F_CPU 12000000L
#include <util/delay.h>


#define BAUD 9600L
#define MYUBRR F_CPU/16/BAUD-1

void USART_Init(unsigned int UBRR)
{
UBRR1H = (unsigned char)(ubrr>>8);
UBRR1L = (unsigned char) ubrr;
UCSR1B = (1<<RXEN)|(1<<TXEN);
UCSR1C = 0b00000110;
}


int main(void)
{
	
	USART_Init (MYUBRR);

	
	while (!(UCSR1A & (1<<UDR1E)))		//warten bis Senden möglich
	{
	}	


	UDR1 = 'H';							//schreibt das Zeichen x auf die Schnittstelle
	_delay_ms(100);
	UDR1 = 'A';
	_delay_ms(100);
	UDR1 = 'L';
	_delay_ms(100);
	UDR1 = 'L';							//schreibt das Zeichen x auf die Schnittstelle
	_delay_ms(100);
	UDR1 = 'O';
	_delay_ms(100);

	return 0;							
}
Vielleicht hat mir ja einer noch einen guten Tipp mit dem ich die Schnittstelle schnell zum laufen bekomme.
Ach ja, wenn ich mit dem Multimeter (hab leider kein Speicheroszi) an Rxd und Txd messe dann hab ich -7 und -9V. Der Pegelwandler scheint also zu funktionieren. Beim Hyperterminal hab ich soweit denke ich alles richtig eingestellt (in diesem Fall 8N1 und 9600Baud).
Vielen Dank schon mal für eure Hilfe!

Grüße!!
Bean