From b47d7693697754ab6916b578b034761be80eb74a Mon Sep 17 00:00:00 2001 From: tute-avalos Date: Fri, 3 Jul 2020 00:21:48 -0300 Subject: [PATCH] stm32: uart: Add Trasmission Complete enable/disable interrupt functions --- .../stm32/common/usart_common_all.h | 2 ++ lib/stm32/common/usart_common_all.c | 26 +++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/include/libopencm3/stm32/common/usart_common_all.h b/include/libopencm3/stm32/common/usart_common_all.h index a39d6833..5a41684b 100644 --- a/include/libopencm3/stm32/common/usart_common_all.h +++ b/include/libopencm3/stm32/common/usart_common_all.h @@ -120,6 +120,8 @@ void usart_enable_rx_interrupt(uint32_t usart); void usart_disable_rx_interrupt(uint32_t usart); void usart_enable_tx_interrupt(uint32_t usart); void usart_disable_tx_interrupt(uint32_t usart); +void usart_enable_tx_complete_interrupt(uint32_t usart); +void usart_disable_tx_complete_interrupt(uint32_t usart); void usart_enable_error_interrupt(uint32_t usart); void usart_disable_error_interrupt(uint32_t usart); bool usart_get_flag(uint32_t usart, uint32_t flag); diff --git a/lib/stm32/common/usart_common_all.c b/lib/stm32/common/usart_common_all.c index 2c7e9a6d..3565e802 100644 --- a/lib/stm32/common/usart_common_all.c +++ b/lib/stm32/common/usart_common_all.c @@ -350,6 +350,32 @@ void usart_disable_tx_interrupt(uint32_t usart) USART_CR1(usart) &= ~USART_CR1_TXEIE; } +/*---------------------------------------------------------------------------*/ +/** + * @brief USART Transmission Complete Interrupt Enable + * + * @param[in] usart unsigned 32 bit. USART block register address base @ref +usart_reg_base + */ + +void usart_enable_tx_complete_interrupt(uint32_t usart) +{ + USART_CR1(usart) |= USART_CR1_TCIE; +} + +/*---------------------------------------------------------------------------*/ +/** + * @brief USART Transmission Complete Interrupt Disable + * + * @param[in] usart unsigned 32 bit. USART block register address base @ref +usart_reg_base + */ + +void usart_disable_tx_complete_interrupt(uint32_t usart) +{ + USART_CR1(usart) &= ~USART_CR1_TCIE; +} + /*---------------------------------------------------------------------------*/ /** @brief USART Error Interrupt Enable.