644a 20MHz e USB Serial Light Adapter

MauroTec:
Nel datasheet Atmel 8272D–AVR–05/12 del 644 a pag 200 c'è riepilogata la tabella che lega clock, baud rate, UBRRn e l'errore.
Si vede che a 20MHz di clock, UBRRn deve essere 21 per impostare il baud rate a 57600, però dal calcolo viene fuori 20.

Il calcolo:

UBRR0L = (F_CPU / (16 * baud)) - 1;

20.000.000 / (16 x 57600) - 1 = 20.000.000 / 921600 - 1 = 21,701388889 - 1 = 20

Comunque la differenza e minima e lavoro comunque anche se lo imposto a 21.

Devo concludere che quella tabella è errata.

Ciao.

Oppure che il calcolo lo fanno arrotondando.
Cioè, 21,7->22
22-1=21

Prendi l'esempio di 20 MHz a 38400 bps.
20000000/(1638400)-1 = 32,55-1 = 31,55
Nella tabella c'è il valore 32. Quindi deduco che 20000000/(16
38400)=32,55 per loro diventi 33.