altos: Oops. Set per-USART STM baud rate register instead of usart1
authorKeith Packard <keithp@keithp.com>
Tue, 3 Apr 2012 02:27:53 +0000 (19:27 -0700)
committerKeith Packard <keithp@keithp.com>
Tue, 3 Apr 2012 02:29:21 +0000 (19:29 -0700)
Was accidentally always setting usart1 instead of the per-usart
register. Didn't work too well for other usarts...

Signed-off-by: Keith Packard <keithp@keithp.com>
src/stm/ao_serial_stm.c

index a8c102227f7613ae4eb4892bdbebd12229a31106..f8db6883bfc47a5fa2688cd745ca8f66468fc5e8 100644 (file)
@@ -134,7 +134,7 @@ ao_usart_set_speed(struct ao_stm_usart *usart, uint8_t speed)
 {
        if (speed > AO_SERIAL_SPEED_57600)
                return;
-       stm_usart1.brr = ao_usart_speeds[speed].brr;
+       usart->reg->brr = ao_usart_speeds[speed].brr;
 }
 
 void
@@ -303,8 +303,8 @@ ao_serial_init(void)
 #endif
        /* Enable USART */
        stm_rcc.apb2enr |= (1 << STM_RCC_APB2ENR_USART1EN);
-       ao_stm_usart1.reg = &stm_usart1;
 
+       ao_stm_usart1.reg = &stm_usart1;
        ao_usart_init(&ao_stm_usart1);
 
        stm_nvic_set_enable(STM_ISR_USART1_POS);
@@ -382,7 +382,6 @@ ao_serial_init(void)
 #endif
 #endif
 #endif
-       
        /* Enable USART */
        stm_rcc.apb1enr |= (1 << STM_RCC_APB1ENR_USART3EN);