Hallo,

auf einen entsprechenden Hinweis von Besserwessi hatte ich mal eine Tabelle gerechnet für theoretisch erreichbare Baudraten in Abhängigkeit des UART-Parameters UBRR. Meine Tabelle ist für 20 MHz und für den mega168 - zeigt aber sehr gut das Problem: bei hohen Baudraten wird UBRR recht klein und daher wird der Sprung von einer (theoretisch erreichbaren) Baudrate zur nächsten groß: Beispiel: beim 20 MHz-Quarz brauche ich für 115 kBaud rund UBRR = 10. Damit liegt das Ergebnis zwei Prozent unter der angepeilten Baudrate - nimmt man UBRR = 9 so liegt man 8 % drüber (klar - die Differenz ist der prozentuale Unterschied von 10 auf 9). Die Abweichung ist so hoch, dass der Fehler üblicherweise von einer Schnittstelle nicht mehr toleriert wird. Bei kleineren Quarzfrequenzen wird diese Schwankung bzw. der Fehler natürlich noch grösser. Das Problem liegt in der Ganzzahligkeit des Baudratenparameters. Daher entsteht - gerade bei hohen Baudraten - die Notwendigkeit, den Quarztakt anzupassen.