This site describes the difference between desired and actually achievable baud rates.
(Important only for high baud rates)
The achievable baud rates can be calculated trough this formula:
baud rate = peripheral speed / (16 * divisor value)
The divisor value is automatically calculated by the ZBrain-SDK according to the desired baud rate.(The divisor value is not user setable).
Since the divisor value is an integer value not every baud rate can be set to the exact value.
The higher the baud rate, the smaller the chance to be able to set a matching baud rate at the other side of the line.
The achievable baud rates can be tested with the uart test speed example.
The following table is an example for the ZMC running at full speed (default). The peripheral speed in that case is 131,25MHz
standard baud rate | divisor value | achieved baud rate |
---|---|---|
300 | 27344 | 300.00 |
600 | 13672 | 599.99 |
1200 | 6836 | 1199.99 |
1800 | 4557 | 1800.12 |
2400 | 3418 | 2399.98 |
4800 | 1709 | 4799.96 |
7200 | 1139 | 7202.04 |
9200 | 892 | 9196.33 |
14400 | 570 | 14391.45 |
19200 | 427 | 19211.07 |
38400 | 214 | 38332.36 |
57600 | 142 | 57768.49 |
115200 | 71 | 115536.97 |
230400 | 36 | 227864.58 |
460800 | 18 | 455729.17 |
15 | 546875.00 | |
16 | 512695.31 | |
15 | 546875.00 | |
14 | 585937.50 | |
13 | 631009.62 | |
12 | 683593.75 | |
11 | 745738.64 | |
vvv might not work vvv | ||
10 | 820312.50 | |
921600 | 9 | 911458.33 |
8 | 1025390.63 | |
7 | 1171875.00 | |
6 | 1367187.50 | |
5 | 1640625.00 | |
4 | 2050781.25 | |
3 | 2734375.00 | |
2 | 4101562.50 | |
1 | 8203125.00 |