Nein, sondern die mit dem vorhandenen Baudratenteiler aus dem zur
Verfügung stehenden Takt erzeugbare Baudrate, die am nächsten an der
gewünschten Baudrate liegt.
Angenommen, der Takt beträgt 1 MHz, und es ist eine Baudrate von 19200
gewünscht.
1 MHz / 19200 = 52.0833
Da der Baudratenteiler aber nur mit ganzen Zahlen arbeiten kann, ergibt
sich ein Teilerwert von 52.
Und damit lässt sich die tatsächlich erzielte Baudrate berechnen:
1 MHz / 52 = 19230.77
19230.77 / 19200 = 1.0016
Also ist dieser Wert 0.16 % zu groß - schon ziemlich genau.
Reale UARTs aber verwenden einen Vorteiler von i.d.R. 16, so daß der
Ausgangstakt in unserem Beispiel nicht 1 MHz, sondern tatsächlich nur
62500 Hz beträgt.
62500 / 19200 = 3.255
62500 / 3 = 20833.33
20833.33 / 19200 = 1.085
Somit ist dieser Wert erhebliche 8.5 % zu groß, eine fehlerfreie
Übertragung ist damit praktisch unmöglich.