Gast
#2215834
Hallo Leute, ich versuche seit einiger Zeit auf einem Atmega32U2 mit 1MHz den UART mit 19200 Baud in Betrieb zu nehmen. Leider scheint die Einstellmöglichkeit beim Register UBRR zu ungenau zu sein. 6 ist zu langsam, 5 ist zu schnell. 5,5 wäre sehr nahe am Ideal von 5,51. Ich habe das U2X Bit schon auf True gesetzt, und damit die Baudrate verdoppelt. Mit UBRR==12 funktioniert alles wunderbar mit 9600 Baud. Laut http://wormfood.net/avrbaudcalc.php habe ich bei meiner 19200er Einstellung einen Fehler von 7,5%. Das scheint zu hoch zu sein. Lösungs-Ideen die ich leider nicht einsetzen kann: 1) Baudraten-Quarz: Wäre schön, aber ich brauche die 8 MHz für USB. Platz für einen zweiten Quarz ist auf dem Board nie und nimmer, ich bin sehr froh dass sich der eine irgendwie ausgegangen ist. 2) Andere Baudrate verwenden: Soll nach Möglichkeit kompatibel mit einer bereits vorhandenen Schnittstelle sein. Das zu ändern würde gehen, wäre aber sehr umständlich. 3) ATmega mit 8 MHz betreiben: Batteriebetriebene Anwendung, halbwegs Low Power. Der ATmega muss aber trotzdem quasi-staendig was tun. Danke im Voraus für eure Ideen.