Question
STM32F4: Purpose of the usage of ATOMIC_SET_BIT ATOMIC_CLEAR_BIT macros in the low level drivers related to UART peripheral
Hello, I'm using LL driver in projects and I found these differences comparing the newest LL driver version (1.7.13) with my current why:
in file stm32f4xx_ll_usart.h/c (macro with prefix ATOMIC_ is now used in several functions)
- LL_USART_EnableDirectionRx is now using ATOMIC_SET_BIT macro instead of SET_BIT
- LL_USART_DisableDirectionRx is now using ATOMIC_CLEAR_BIT macro instead of CLEAR_BIT
- LL_USART_EnableDirectionTx is now using ATOMIC_SET_BIT macro instead of SET_BIT
- LL_USART_DisableDirectionTx is now using ATOMIC_CLEAR_BIT macro instead of CLEAR_BIT
- LL_USART_SetTransferDirection is now using ATOMIC_MODIFY_REG macro instead of MODIFY_REG
- LL_USART_EnableIT_IDLE is now using ATOMIC_SET_BIT macro instead of SET_BIT
- LL_USART_EnableIT_RXNE is now using ATOMIC_SET_BIT macro instead of SET_BIT
- LL_USART_EnableIT_TC is now using ATOMIC_SET_BIT macro instead of SET_BIT
- LL_USART_EnableIT_TXE is now using ATOMIC_SET_BIT macro instead of SET_BIT
- LL_USART_EnableIT_PE is now using ATOMIC_SET_BIT macro instead of SET_BIT
- LL_USART_EnableIT_ERROR is now using ATOMIC_SET_BIT macro instead of SET_BIT
- LL_USART_EnableIT_CTS is now using ATOMIC_SET_BIT macro instead of SET_BIT
- LL_USART_DisableIT_IDLE is now using ATOMIC_CLEAR_BIT macro instead of CLEAR_BIT
- LL_USART_DisableIT_RXNE is now using ATOMIC_CLEAR_BIT macro instead of CLEAR_BIT
- LL_USART_DisableIT_TC is now using ATOMIC_CLEAR_BIT macro instead of CLEAR_BIT
- LL_USART_DisableIT_TXE is now using ATOMIC_CLEAR_BIT macro instead of CLEAR_BIT
- LL_USART_DisableIT_PE is now using ATOMIC_CLEAR_BIT macro instead of CLEAR_BIT
- LL_USART_DisableIT_ERROR is now using ATOMIC_CLEAR_BIT macro instead of CLEAR_BIT
- LL_USART_DisableIT_CTS is now using ATOMIC_CLEAR_BIT macro instead of CLEAR_BIT
- LL_USART_EnableDMAReq_RX is now using ATOMIC_SET_BIT macro instead of SET_BIT
- LL_USART_DisableDMAReq_RX is now using ATOMIC_CLEAR_BIT macro instead of CLEAR_BIT
- LL_USART_EnableDMAReq_TX is now using ATOMIC_SET_BIT macro instead of SET_BIT
- LL_USART_DisableDMAReq_TX is now using ATOMIC_CLEAR_BIT macro instead of CLEAR_BIT
So the question is, for what reason the macro with ATOMIC_ prefix is now used? Why only for UART peripheral? What these changes may affect?
