mirror of
https://github.com/apache/nuttx.git
synced 2026-05-21 04:52:02 +08:00
UART needs to be disabled before changing setup
This commit is contained in:
@@ -1445,6 +1445,10 @@ static void up_set_format(struct uart_dev_s *dev)
|
||||
|
||||
regval = up_serialin(priv, STM32_USART_CR1_OFFSET);
|
||||
|
||||
#if defined(CONFIG_STM32_STM32G4XXX)
|
||||
regval &= ~(USART_CR1_UE | USART_CR1_TE | USART_CR1_RE);
|
||||
up_serialout(priv, STM32_USART_CR1_OFFSET, regval);
|
||||
#endif
|
||||
#if defined(CONFIG_STM32_STM32F30XX) || defined(CONFIG_STM32_STM32F33XX)|| \
|
||||
defined(CONFIG_STM32_STM32F37XX) || defined(CONFIG_STM32_STM32G4XXX)
|
||||
/* This first implementation is for U[S]ARTs that support oversampling
|
||||
@@ -1623,6 +1627,11 @@ static void up_set_format(struct uart_dev_s *dev)
|
||||
#endif
|
||||
|
||||
up_serialout(priv, STM32_USART_CR3_OFFSET, regval);
|
||||
#if defined(CONFIG_STM32_STM32G4XXX)
|
||||
regval = up_serialin(priv, STM32_USART_CR1_OFFSET);
|
||||
regval |= (USART_CR1_UE | USART_CR1_TE | USART_CR1_RE);
|
||||
up_serialout(priv, STM32_USART_CR1_OFFSET, regval);
|
||||
#endif
|
||||
}
|
||||
#endif /* CONFIG_SUPPRESS_UART_CONFIG */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user