Baudraten-Kodierung

Häufig wird zur Kodierung der Baudrate ein WORD (2 Byte) oder DWORD (4 Byte) benutzt, aber die Speicherplatzverschwendung ist offensichtlich.

Nach eingehender Untersuchung der gängigen Baudraten kommt man zu folgender Primfaktorzerlegung:

5k * 3m * 2n

mit
Passt also bequem in ein Byte, mit der Aufteilung:

Das höherwertige Nibble ergibt also eine Art Basis oder Mantisse, das niederwertige legt die Anzahl der Linksschiebeoperationen (Verdopplungen), einen binären Exponenten fest.

Beispielkodes

Häufige benutzte Baudraten
Kode (hex)Baudrate2^3^5^Anwendung
0025002Minimum
14120041serielle Mäuse, CLIP, Uralt-Modems, Serial-PnP
1524005viele Uni-T-Multimeter
1648006
1796007viele Mikrocontroller-Projekte
18192008
1938,4k9
2614,4k62Modems
2728,8k7
2857,6k8
29115,2k9Maximum für Standard-PC mit UART 8250, 16450 oder 16550
2A230,4k10-
2B460,8k11
2C921,6k12OndoSense Reach (Mikrowellen-Abstandssensor RS485)
3A691,2k103µε optoNCDT 2200 und USB-Umsetzer
4131250106MIDI
44250k4DMX, CAN Low-Speed
461M6CAN High-Speed, I²C
472M7ESP32
484M8
551,5M51Profibus bei Siemens-Simodrive-Motorsteuerungen
5812M8Profibus-Maximum
854k503Silabs-Chips SI2102 und SI2103
8716k7
8964k9
8B256k11
A9576k92Silabs-Chips + ESP32
AA1152k10ESP32
Alle 128 Baudraten

Tabellarische Sonder-Baudraten

Diese lege ich kurzerhand wie folgt fest:

Sonstige Baudraten
Kode (hex)Baudrate2^3^5^7^11^13^Anwendung
C1110101010Lahme Modems
C410k404000
C5100k505000I²C
CF400k705000
C710M707000TI C2000-Delfino-Launchpad
E774880721001ESP8266

Also kn, und dazu bei 110 die sonderbare Primzahl 11.