atmega2561 datenblatt und usart

Gast #622171
Lesenswert?

Versuche gerade eine serielle Verbindung zu einem PC aufzubauen. Meine 
platine hat einen Max232 und mega2561 controller. Der Beispielcode im 
Datenblatt lässt sich nichtmal kompilieren, die register sind falsch 
angegeben. Kann irgendjemand eine Aussage machen ob das funktioniert? 
(oder könnte?).

#include <avr/io.h>

#define FOSC 8000000// Clock Speed
#define BAUD 9600
#define MYUBRR (FOSC/16/BAUD-1)

void USART_Init( unsigned int ubrr){
/* Set baud rate */
UBRR1H = (unsigned char)(ubrr>>8);
UBRR1L = (unsigned char)ubrr;
/* Enable receiver and transmitter */
UCSR1B = (1<<RXEN1)|(1<<TXEN1);
/* Set frame format: 8data, 2stop bit */
UCSR1C = (1<<USBS1)|(3<<UCSZ10);
} // USART_Init

void USART_Transmit( unsigned char data )
{
/* Wait for empty transmit buffer */
while ( !( UCSR1A & (1<<UDRE1)) )
;
/* Put data into buffer, sends the data */
UDR1 = data;
}

int main()
{
USART_Init ( MYUBRR );
while(1) {
  USART_Transmit('A');
}

return 0;
} // main


Werde gleich mal mit dem Oszi messen ob da überhaupt was aus dem Port 
rauskommt aber der PC zeigt gar nichts an, hab auch schon am kabel 
rumgespielt etc. Ich versteh das nicht...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren