Gast
#2083346
Hallo uC-Gemeinde, ich habe hier einen AT90USB162 auf einem Olimex Board, mit dem ich Text über die serielle Schnittstelle ausgeben möchte. Das funktioniert auch bereits, aber leider nur mit maximal 4800 baud. Das normale Beschreiben von UBRR1H/UBRR1L mit PreScaler funktioniert bei mir auch nicht: #define F_CPU 8000000UL #define USART_BAUDRATE 9600UL #define UBRR_VAL ((F_CPU/(USART_BAUDRATE*16))-1) und später: UCSR1B = (1 << TXEN1) | (1 << RXEN1) | (1<<RXCIE1); UCSR1C = (1<<USBS1) | (1<<UCSZ10) | (1<<UCSZ11); UBRR1H = UBRR_VAL >> 8; UBRR1L = UBRR_VAL & 0xFF; Erst wenn ich den Wert zusätzlich nochmal durch vier teile, komme ich auf 4800 baud, obwohl ich ja eigentlich 9600 baud anvisiert hatte. Ich habe also einen Faktor 8 Differenz zwischen Datenblatt und Konfiguration. Auch wenn ich die Werte in den Registern von Hand setze, ich komme auf maximal 4800 baud. zum Kompilieren benutze ich das AVR Studio und zum Beschreiben Flip. Irgendwelche Ideen? Vielen Dank, Frank