diff --git a/stm-firmware/include/stm-periph/uart.h b/stm-firmware/include/stm-periph/uart.h index b5c7c77..8fa856f 100644 --- a/stm-firmware/include/stm-periph/uart.h +++ b/stm-firmware/include/stm-periph/uart.h @@ -48,6 +48,8 @@ struct stm_uart { int uart_init(struct stm_uart *uart); +void uart_change_brr(struct stm_uart *uart, uint32_t brr); + void uart_disable(struct stm_uart *uart); void uart_send_char(struct stm_uart *uart, char c); diff --git a/stm-firmware/stm-periph/uart.c b/stm-firmware/stm-periph/uart.c index 5bc44b3..88e5cd0 100644 --- a/stm-firmware/stm-periph/uart.c +++ b/stm-firmware/stm-periph/uart.c @@ -86,6 +86,14 @@ int uart_init(struct stm_uart *uart) return 0; } +void uart_change_brr(struct stm_uart *uart, uint32_t brr) +{ + if (!uart || !uart->uart_dev) + return; + + uart->uart_dev->BRR = brr; +} + void uart_disable(struct stm_uart *uart) { if (!uart)