¿Cómo calcular el registro de modulación para MSP430 UART?

2

Estoy usando un MSP430F5529 cronometrado a 1 MHz y quiero usar el UART a 9600 baudios. Hasta ahora lo hice:

void UART_init(void) {
    UCA0CTL1 |= UCSWRST; // Reset the UART's state machine
    UCA0CTL0 |= UCMSB; // MSB first, 8n1 mode
    UCA0CTL1 |= UCSSEL_2; // SMCLK

    // 1 MHz/9600 baud = 104.666.
    // Rounding down to 104 = 9615 bauds

    UCA0BR0 = 104;
    UCA0BR1 = 0;

}

Pero ahora no entiendo cómo elegir el valor del registro de modulación ( UCA1MCTL ) para acercarme lo más posible a 9600 baudios. La Guía del usuario de MSP430Fx5xx , en la página 908, propone utilizar UCBRS_1 , pero no entiendo cómo se alcanza el valor.

¿Cómo calculo este registro?

    
pregunta Renan

1 respuesta

2

Hay una serie de calculadoras para simplificar el proceso, como esta; calculadora de bits de velocidad de baudios de msp430 simple

Si desea información más detallada sobre cómo se calcula esto, recomiendo este gran tutorial de Gustavo Litovsky Específicamente en la sección 12.3. 5 en PDF página 101

Espero que esto ayude.

    
respondido por el rob j loranger

Lea otras preguntas en las etiquetas