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:
Passt also bequem in ein Byte, mit der Aufteilung:5k * 3m * 2n
mit
- k = 2 oder 6, selten 3 oder andere Werte
- m = 0 .. 3
- n = 1 .. 15
Das höherwertige Nibble ergibt also eine Art Basis oder Mantisse, das niederwertige legt die Anzahl der Linksschiebeoperationen (Verdopplungen), einen binären Exponenten fest.
Kode (hex) | Baudrate | 2^ | 3^ | 5^ | Anwendung |
---|---|---|---|---|---|
00 | 25 | 0 | 0 | 2 | Minimum |
14 | 1200 | 4 | 1 | serielle Mäuse, CLIP, Uralt-Modems, Serial-PnP | |
15 | 2400 | 5 | viele Uni-T-Multimeter | ||
16 | 4800 | 6 | |||
17 | 9600 | 7 | viele Mikrocontroller-Projekte | ||
18 | 19200 | 8 | |||
19 | 38,4k | 9 | |||
26 | 14,4k | 6 | 2 | Modems | |
27 | 28,8k | 7 | |||
28 | 57,6k | 8 | |||
29 | 115,2k | 9 | Maximum für Standard-PC mit UART 8250, 16450 oder 16550 | ||
2A | 230,4k | 10 | - | ||
2B | 460,8k | 11 | |||
2C | 921,6k | 12 | OndoSense Reach (Mikrowellen-Abstandssensor RS485) | ||
3A | 691,2k | 10 | 3 | µε optoNCDT 2200 und USB-Umsetzer | |
41 | 31250 | 1 | 0 | 6 | MIDI |
44 | 250k | 4 | DMX, CAN Low-Speed | ||
46 | 1M | 6 | CAN High-Speed, I²C | ||
47 | 2M | 7 | ESP32 | ||
48 | 4M | 8 | |||
55 | 1,5M | 5 | 1 | Profibus bei Siemens-Simodrive-Motorsteuerungen | |
58 | 12M | 8 | Profibus-Maximum | ||
85 | 4k | 5 | 0 | 3 | Silabs-Chips SI2102 und SI2103 |
87 | 16k | 7 | |||
89 | 64k | 9 | |||
8B | 256k | 11 | |||
A9 | 576k | 9 | 2 | Silabs-Chips + ESP32 | |
AA | 1152k | 10 | ESP32 |
Diese lege ich kurzerhand wie folgt fest:
Kode (hex) | Baudrate | 2^ | 3^ | 5^ | 7^ | 11^ | 13^ | Anwendung |
---|---|---|---|---|---|---|---|---|
C1 | 110 | 1 | 0 | 1 | 0 | 1 | 0 | Lahme Modems |
C4 | 10k | 4 | 0 | 4 | 0 | 0 | 0 | |
C5 | 100k | 5 | 0 | 5 | 0 | 0 | 0 | I²C |
CF | 400k | 7 | 0 | 5 | 0 | 0 | 0 | |
C7 | 10M | 7 | 0 | 7 | 0 | 0 | 0 | TI C2000-Delfino-Launchpad |
E7 | 74880 | 7 | 2 | 1 | 0 | 0 | 1 | ESP8266 |
Also k ≡ n, und dazu bei 110 die sonderbare Primzahl 11.