Cómo calcular la velocidad en baudios de la comunicación serie stm32
En la programación real, puede utilizar la función de biblioteca para configurarla directamente sin realizar cálculos.
Generación de velocidad en baudios fraccionaria:
El receptor y el transmisor (RX y TX) se configuran con los valores configurados en los registros enteros y fraccionarios USARTDIV.
Velocidad en baudios TX/RX=Fck/(16*USARTDIV)
Ejemplo: USARTDIV se calcula a partir del valor del registro BRR
Si DIV_Mantissa=27D, DIV_Fraction=12D(BRR=1BCH), entonces
Mantissa(USARTDIV)=27D
Fraciton(USARTDIV)=12/16=0.75D
Por lo tanto, USARTDIV=27.75D
Después de escribir USART_BRR, el contador de velocidad en baudios se actualizará con el nuevo valor en el registro de velocidad en baudios, por lo que el valor del registro de velocidad en baudios no debe cambiarse durante el procesamiento, solo se usa USART1. El reloj lo proporciona PCK2 (bit máximo 72 MHZ) y los otros relojes los proporciona PCLK1 (máximo 36 MHZ)