mirror of
https://github.com/apache/nuttx.git
synced 2026-06-02 01:21:26 +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);
|
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)|| \
|
#if defined(CONFIG_STM32_STM32F30XX) || defined(CONFIG_STM32_STM32F33XX)|| \
|
||||||
defined(CONFIG_STM32_STM32F37XX) || defined(CONFIG_STM32_STM32G4XXX)
|
defined(CONFIG_STM32_STM32F37XX) || defined(CONFIG_STM32_STM32G4XXX)
|
||||||
/* This first implementation is for U[S]ARTs that support oversampling
|
/* 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
|
#endif
|
||||||
|
|
||||||
up_serialout(priv, STM32_USART_CR3_OFFSET, regval);
|
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 */
|
#endif /* CONFIG_SUPPRESS_UART_CONFIG */
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user