Forum: Mikrocontroller und Digitale Elektronik UART konfigurieren atmega8


von samou83 (Gast)


Lesenswert?

hallo
ich bin ein avr anfänger und ich versuche gerade mit der UART 
schnittstelle des Atmega8 zu experimentieren.wenn ich die baurate in 
meinen code ab 57600 einstelle bekomme ich ja nur müll sonst niedriege 
baurate hats bis jetzt geklappt.
meine uart initialisierung sieht so aus
void USART_Init( unsigned int ubrr)  //USART initialization subroutine
{
UBRR0H = (unsigned char)(ubrr>>8);
UBRR0L = (unsigned char)ubrr;
UCSR0B = (1<<RXEN0)|(1<<TXEN0);
UCSR0C = (1<<USBS0)|(3<<UCSZ00);
}
.

von Frederik K. (n0ll4k)


Lesenswert?

Mein Tip ist kein Quarz dran!

von Tytus W. (tytus)


Lesenswert?

#define BAUDRATE 9600
#define UBRRVAL ((F_CPU/(BAUDRATE*8UL))-1)


//Set baud rate
UBRRL=UBRRVAL;    //low byte
UBRRH=(UBRRVAL>>8);   //high byte


UCSRA = 0;
/* Enable Receiver and Transmitter and receiver interrupt */
UCSRB = (1<<RXCIE)|(1<<RXEN)|(1<<TXEN);
/* Set frame format: 8data, 1stop bit */
UCSRC = (1<<URSEL)|(3<<UCSZ0);

ISR(USART_RXC_vect)
{
//interrupt routine
}

//zum senden

while (!(UCSRA&(1<<UDRE)));
UDR = "ein byte was du senden willst";

von Henrik (Gast)


Lesenswert?

Das URSEL Bit ist zumindest beim Mega16 ganz wichtig, hab ich gelernt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.