Ecuación de tasa de baudios LPC2148

Estoy un poco confundido acerca de la ecuación de cálculo de la tasa de baudios de LPC2148

En la hoja de datos la ecuación es

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Pero en cada tutorial que pude encontrar

la ecuacion es

ingrese la descripción de la imagen aquí

La segunda ecuación establece la velocidad en baudios según sea necesario.

¿Me estoy perdiendo de algo?

Tutoriales que revisé

  1. Enlace1
  2. Enlace2
  3. Enlace3
No tengo experiencia con LPC2148, pero las ecuaciones son las mismas si U0 representa sobremuestreo, que generalmente es 16 (u 8 con velocidades de transmisión más rápidas).
@Rokta Aquí U0 significa UART0, U0DLL y U0DLM son registros de bloqueo de dispositivo de UART0

Respuestas (1)

Lo único que tiene sentido es que la ecuación en la hoja de datos tiene un error.

Esa misma hoja de datos dice:

Los registros U0DLL y U0DLM juntos forman un divisor de 16 bits donde U0DLL contiene los 8 bits inferiores del divisor y U0DLM contiene los 8 bits superiores del divisor.

Eso sugiere que debería ser 256*DLM+DLLcomo está escrito en los tutoriales. En las tablas de ejemplo a continuación, también se trata como un total de 16 bits (8 superiores + 8 inferiores).

Tenga en cuenta que la versión de abril de 2012 de la hoja de datos [1] contiene la ecuación corregida.

[1] https://www.nxp.com/docs/en/user-guide/UM10139.pdf

Di DLM = 1, DLL = 97, MULVAL = 14 y DIVADDVAL = 1, si la ecuación era la que tenía 16 en el denominador, la tasa de baudios calculada sería 7743 y la ecuación con 256 en el denominador daría 2478. Verifiqué el valor en Keil debugger, y la respuesta es 2478. Así que la ecuación con 256 es la correcta.
¿Puede decirme cómo obtuvo el denominador como 256 con la información de U0DLL y U0DLM?
Los 8 bits superiores significan 1<<8o 2**8, que es 256.