Wieso stell ich damit 5 Bit ein?
Die Biteinstellung läuft ja über UCSZ*....
Ich hab die Einstellungn jetzt hoffentlich richtig geändert:
Code:
void USART_Init( void )
{
/* Set baud rate */
UBRR0H = UBRR_VAL >> 8;
UBRR0L = UBRR_VAL & 0xFF;
/* Alternativ: */
//UBRR0 = UBRR_VAL;
/* Enable receiver and transmitter */
UCSR0B = 1<<RXEN0 | 1<<TXEN0;
/* Set frame format: 8data, 1stop bit */
UCSR0C |= (1<<UCSZ00) | (1<<UCSZ01); // 8 Bit Daten und 1 Stopp Bit
}
Aber es funktioniert noch immer nicht
Anscheinend hängt der µC in der Initialisierung. Denn wenn ich alle Zeilen nacheinander auskommentiere funktioniert er erst wenn ich die Zeile
Code:
/* Enable receiver and transmitter */
UCSR0B = 1<<RXEN0 | 1<<TXEN0;
weg lasse. Ich hab mir einen kleinen Versuchsaufbau gemacht: in der while Schleife lasse ich eine LED blinken. Ausser den Porteinstellungen, dem UART_Init und der Endlosschleife mit dem Blinken ist in meinem Programm nichts. Somit sehe ich wo er hängt und ob das Programm es bis zum Blinken schafft
Doch wo könnte da der Fehler liegen?
Lesezeichen