Also ich habe 2 Init Funktionen, einmal für Usart0 und einmal für Usart1
Code:
void Init_Usart0()
{
UBRR0H = ((F_CPU +BAUD*8 )/ (BAUD * 16L) - 1) >>8;
UBRR0L = ((F_CPU +BAUD*8 )/ (BAUD * 16L) - 1) & 0xFF;
UCSR0B = (1<<TXEN0) | (1<<RXEN0) | (1<<RXCIE0);
UCSR0C = (1<<UCSZ00) | (1<<UCSZ01);
}
void Init_Usart1()
{
UBRR1H = ((F_CPU +BAUD1*8 )/ (BAUD1 * 16L) - 1) >>8;
UBRR1L = ((F_CPU +BAUD1*8 )/ (BAUD1 * 16L) - 1) & 0xFF;
UCSR1B = (1<<RXEN1)|(1<<TXEN1) | (1<<RXCIE1);
UCSR1C = (1<<UCSZ10) | (1<<UCSZ11) ;
}
Wenn ich jetzt die Kommunikation über Usart1 mache, muss ich auf PC seite einstellen 8 Datenbits und 1 Stopbit damit die Daten sauer ankommen
Wenn ich die kommunikation über Usart0 mache, muss ich am Pc 8 Datenbits und 2 Stopbits einstellen damit die Daten sauber ankommen
Sollte ja eig nicht sein, da ich beide Usarts gleich konfiguriert habe
Lesezeichen