mirror of https://github.com/rusefi/ChibiOS.git
Simplified USART units use collision detection in STM32 HAL, now it is done like for TIM units for consistency.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@13810 27425a3e-05d8-49a3-a47f-9c15f0e5edd8
This commit is contained in:
parent
a4e9fc5170
commit
5fec2a17fc
|
@ -421,6 +421,79 @@
|
|||
#error "Invalid IRQ priority assigned to LPUART1"
|
||||
#endif
|
||||
|
||||
/* Checks on allocation of USARTx units.*/
|
||||
#if STM32_SERIAL_USE_USART1
|
||||
#if defined(STM32_USART1_IS_USED)
|
||||
#error "SD1 requires USART1 but it is already used"
|
||||
#else
|
||||
#define STM32_USART1_IS_USED
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if STM32_SERIAL_USE_USART2
|
||||
#if defined(STM32_USART2_IS_USED)
|
||||
#error "SD2 requires USART2 but it is already used"
|
||||
#else
|
||||
#define STM32_USART2_IS_USED
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if STM32_SERIAL_USE_USART3
|
||||
#if defined(STM32_USART3_IS_USED)
|
||||
#error "SD3 requires USART3 but it is already used"
|
||||
#else
|
||||
#define STM32_USART3_IS_USED
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if STM32_SERIAL_USE_UART4
|
||||
#if defined(STM32_UART4_IS_USED)
|
||||
#error "SD4 requires UART4 but it is already used"
|
||||
#else
|
||||
#define STM32_UART4_IS_USED
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if STM32_SERIAL_USE_UART5
|
||||
#if defined(STM32_UART5_IS_USED)
|
||||
#error "SD5 requires UART5 but it is already used"
|
||||
#else
|
||||
#define STM32_UART5_IS_USED
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if STM32_SERIAL_USE_USART6
|
||||
#if defined(STM32_USART6_IS_USED)
|
||||
#error "SD6 requires USART6 but it is already used"
|
||||
#else
|
||||
#define STM32_USART6_IS_USED
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if STM32_SERIAL_USE_UART7
|
||||
#if defined(STM32_UART7_IS_USED)
|
||||
#error "SD7 requires UART7 but it is already used"
|
||||
#else
|
||||
#define STM32_UART7_IS_USED
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if STM32_SERIAL_USE_UART8
|
||||
#if defined(STM32_UART8_IS_USED)
|
||||
#error "SD8 requires UART8 but it is already used"
|
||||
#else
|
||||
#define STM32_UART8_IS_USED
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if STM32_SERIAL_USE_LPUART1
|
||||
#if defined(STM32_LPUART1_IS_USED)
|
||||
#error "LPSD1 requires LPUART1 but it is already used"
|
||||
#else
|
||||
#define STM32_LPUART1_IS_USED
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Driver data structures and types. */
|
||||
/*===========================================================================*/
|
||||
|
|
|
@ -613,6 +613,71 @@
|
|||
#define STM32_DMA_REQUIRED
|
||||
#endif
|
||||
|
||||
/* Checks on allocation of USARTx units.*/
|
||||
#if STM32_UART_USE_USART1
|
||||
#if defined(STM32_USART1_IS_USED)
|
||||
#error "SD1 requires USART1 but it is already used"
|
||||
#else
|
||||
#define STM32_USART1_IS_USED
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if STM32_UART_USE_USART2
|
||||
#if defined(STM32_USART2_IS_USED)
|
||||
#error "SD2 requires USART2 but it is already used"
|
||||
#else
|
||||
#define STM32_USART2_IS_USED
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if STM32_UART_USE_USART3
|
||||
#if defined(STM32_USART3_IS_USED)
|
||||
#error "SD3 requires USART3 but it is already used"
|
||||
#else
|
||||
#define STM32_USART3_IS_USED
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if STM32_UART_USE_UART4
|
||||
#if defined(STM32_UART4_IS_USED)
|
||||
#error "SD4 requires UART4 but it is already used"
|
||||
#else
|
||||
#define STM32_UART4_IS_USED
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if STM32_UART_USE_UART5
|
||||
#if defined(STM32_UART5_IS_USED)
|
||||
#error "SD5 requires UART5 but it is already used"
|
||||
#else
|
||||
#define STM32_UART5_IS_USED
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if STM32_UART_USE_USART6
|
||||
#if defined(STM32_USART6_IS_USED)
|
||||
#error "SD6 requires USART6 but it is already used"
|
||||
#else
|
||||
#define STM32_USART6_IS_USED
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if STM32_UART_USE_UART7
|
||||
#if defined(STM32_UART7_IS_USED)
|
||||
#error "SD7 requires UART7 but it is already used"
|
||||
#else
|
||||
#define STM32_UART7_IS_USED
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if STM32_UART_USE_UART8
|
||||
#if defined(STM32_UART8_IS_USED)
|
||||
#error "SD8 requires UART8 but it is already used"
|
||||
#else
|
||||
#define STM32_UART8_IS_USED
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Driver data structures and types. */
|
||||
/*===========================================================================*/
|
||||
|
|
|
@ -48,13 +48,6 @@
|
|||
|
||||
#endif /* STM32_HAS_LPUART1 */
|
||||
|
||||
/* Other checks.*/
|
||||
#if (HAL_USE_SERIAL && STM32_SERIAL_USE_LPUART1)
|
||||
#define STM32_LPUART1_IS_USED TRUE
|
||||
#else
|
||||
#define STM32_LPUART1_IS_USED FALSE
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Driver exported variables. */
|
||||
/*===========================================================================*/
|
||||
|
@ -68,13 +61,13 @@
|
|||
/*===========================================================================*/
|
||||
|
||||
static inline void lpuart1_irq_init(void) {
|
||||
#if STM32_LPUART1_IS_USED
|
||||
#if defined(STM32_LPUART1_IS_USED)
|
||||
nvicEnableVector(STM32_LPUART1_NUMBER, STM32_IRQ_LPUART1_PRIORITY);
|
||||
#endif
|
||||
}
|
||||
|
||||
static inline void lpuart1_irq_deinit(void) {
|
||||
#if STM32_LPUART1_IS_USED
|
||||
#if defined(STM32_LPUART1_IS_USED)
|
||||
nvicDisableVector(STM32_LPUART1_NUMBER);
|
||||
#endif
|
||||
}
|
||||
|
@ -83,7 +76,7 @@ static inline void lpuart1_irq_deinit(void) {
|
|||
/* Driver interrupt handlers. */
|
||||
/*===========================================================================*/
|
||||
|
||||
#if STM32_LPUART1_IS_USED || defined(__DOXYGEN__)
|
||||
#if defined(STM32_LPUART1_IS_USED) || defined(__DOXYGEN__)
|
||||
/**
|
||||
* @brief LPUART1 interrupt handler.
|
||||
*
|
||||
|
|
|
@ -48,19 +48,6 @@
|
|||
|
||||
#endif /* STM32_HAS_UART4 */
|
||||
|
||||
/* Other checks.*/
|
||||
#if (HAL_USE_SERIAL && STM32_SERIAL_USE_UART4) && \
|
||||
(HAL_USE_UART && STM32_UART_USE_UART4)
|
||||
#error "UART4 used by multiple drivers"
|
||||
#endif
|
||||
|
||||
#if (HAL_USE_SERIAL && STM32_SERIAL_USE_UART4) || \
|
||||
(HAL_USE_UART && STM32_UART_USE_UART4)
|
||||
#define STM32_UART4_IS_USED TRUE
|
||||
#else
|
||||
#define STM32_UART4_IS_USED FALSE
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Driver exported variables. */
|
||||
/*===========================================================================*/
|
||||
|
@ -74,13 +61,13 @@
|
|||
/*===========================================================================*/
|
||||
|
||||
static inline void uart4_irq_init(void) {
|
||||
#if STM32_UART4_IS_USED
|
||||
#if defined(STM32_UART4_IS_USED)
|
||||
nvicEnableVector(STM32_UART4_NUMBER, STM32_IRQ_UART4_PRIORITY);
|
||||
#endif
|
||||
}
|
||||
|
||||
static inline void uart4_irq_deinit(void) {
|
||||
#if STM32_UART4_IS_USED
|
||||
#if defined(STM32_UART4_IS_USED)
|
||||
nvicDisableVector(STM32_UART4_NUMBER);
|
||||
#endif
|
||||
}
|
||||
|
@ -89,7 +76,7 @@ static inline void uart4_irq_deinit(void) {
|
|||
/* Driver interrupt handlers. */
|
||||
/*===========================================================================*/
|
||||
|
||||
#if STM32_UART4_IS_USED || defined(__DOXYGEN__)
|
||||
#if defined(STM32_UART4_IS_USED) || defined(__DOXYGEN__)
|
||||
/**
|
||||
* @brief UART4 interrupt handler.
|
||||
*
|
||||
|
|
|
@ -48,19 +48,6 @@
|
|||
|
||||
#endif /* STM32_HAS_UART5 */
|
||||
|
||||
/* Other checks.*/
|
||||
#if (HAL_USE_SERIAL && STM32_SERIAL_USE_UART5) && \
|
||||
(HAL_USE_UART && STM32_UART_USE_UART5)
|
||||
#error "UART5 used by multiple drivers"
|
||||
#endif
|
||||
|
||||
#if (HAL_USE_SERIAL && STM32_SERIAL_USE_UART5) || \
|
||||
(HAL_USE_UART && STM32_UART_USE_UART5)
|
||||
#define STM32_UART5_IS_USED TRUE
|
||||
#else
|
||||
#define STM32_UART5_IS_USED FALSE
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Driver exported variables. */
|
||||
/*===========================================================================*/
|
||||
|
@ -74,13 +61,13 @@
|
|||
/*===========================================================================*/
|
||||
|
||||
static inline void uart5_irq_init(void) {
|
||||
#if STM32_UART5_IS_USED
|
||||
#if defined(STM32_UART5_IS_USED)
|
||||
nvicEnableVector(STM32_UART5_NUMBER, STM32_IRQ_UART5_PRIORITY);
|
||||
#endif
|
||||
}
|
||||
|
||||
static inline void uart5_irq_deinit(void) {
|
||||
#if STM32_UART5_IS_USED
|
||||
#if defined(STM32_UART5_IS_USED)
|
||||
nvicDisableVector(STM32_UART5_NUMBER);
|
||||
#endif
|
||||
}
|
||||
|
@ -89,7 +76,7 @@ static inline void uart5_irq_deinit(void) {
|
|||
/* Driver interrupt handlers. */
|
||||
/*===========================================================================*/
|
||||
|
||||
#if STM32_UART5_IS_USED || defined(__DOXYGEN__)
|
||||
#if defined(STM32_UART5_IS_USED) || defined(__DOXYGEN__)
|
||||
/**
|
||||
* @brief UART5 interrupt handler.
|
||||
*
|
||||
|
|
|
@ -48,19 +48,6 @@
|
|||
|
||||
#endif /* STM32_HAS_UART7 */
|
||||
|
||||
/* Other checks.*/
|
||||
#if (HAL_USE_SERIAL && STM32_SERIAL_USE_UART7) && \
|
||||
(HAL_USE_UART && STM32_UART_USE_UART7)
|
||||
#error "UART7 used by multiple drivers"
|
||||
#endif
|
||||
|
||||
#if (HAL_USE_SERIAL && STM32_SERIAL_USE_UART7) || \
|
||||
(HAL_USE_UART && STM32_UART_USE_UART7)
|
||||
#define STM32_UART7_IS_USED TRUE
|
||||
#else
|
||||
#define STM32_UART7_IS_USED FALSE
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Driver exported variables. */
|
||||
/*===========================================================================*/
|
||||
|
@ -74,13 +61,13 @@
|
|||
/*===========================================================================*/
|
||||
|
||||
static inline void uart7_irq_init(void) {
|
||||
#if STM32_UART7_IS_USED
|
||||
#if defined(STM32_UART7_IS_USED)
|
||||
nvicEnableVector(STM32_UART7_NUMBER, STM32_IRQ_UART7_PRIORITY);
|
||||
#endif
|
||||
}
|
||||
|
||||
static inline void uart7_irq_deinit(void) {
|
||||
#if STM32_UART7_IS_USED
|
||||
#if defined(STM32_UART7_IS_USED)
|
||||
nvicDisableVector(STM32_UART7_NUMBER);
|
||||
#endif
|
||||
}
|
||||
|
@ -89,7 +76,7 @@ static inline void uart7_irq_deinit(void) {
|
|||
/* Driver interrupt handlers. */
|
||||
/*===========================================================================*/
|
||||
|
||||
#if STM32_UART7_IS_USED || defined(__DOXYGEN__)
|
||||
#if defined(STM32_UART7_IS_USED) || defined(__DOXYGEN__)
|
||||
/**
|
||||
* @brief UART7 interrupt handler.
|
||||
*
|
||||
|
|
|
@ -48,19 +48,6 @@
|
|||
|
||||
#endif /* STM32_HAS_UART8 */
|
||||
|
||||
/* Other checks.*/
|
||||
#if (HAL_USE_SERIAL && STM32_SERIAL_USE_UART8) && \
|
||||
(HAL_USE_UART && STM32_UART_USE_UART8)
|
||||
#error "UART8 used by multiple drivers"
|
||||
#endif
|
||||
|
||||
#if (HAL_USE_SERIAL && STM32_SERIAL_USE_UART8) || \
|
||||
(HAL_USE_UART && STM32_UART_USE_UART8)
|
||||
#define STM32_UART8_IS_USED TRUE
|
||||
#else
|
||||
#define STM32_UART8_IS_USED FALSE
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Driver exported variables. */
|
||||
/*===========================================================================*/
|
||||
|
@ -74,13 +61,13 @@
|
|||
/*===========================================================================*/
|
||||
|
||||
static inline void uart8_irq_init(void) {
|
||||
#if STM32_UART8_IS_USED
|
||||
#if defined(STM32_UART8_IS_USED)
|
||||
nvicEnableVector(STM32_UART8_NUMBER, STM32_IRQ_UART8_PRIORITY);
|
||||
#endif
|
||||
}
|
||||
|
||||
static inline void uart8_irq_deinit(void) {
|
||||
#if STM32_UART8_IS_USED
|
||||
#if defined(STM32_UART8_IS_USED)
|
||||
nvicDisableVector(STM32_UART8_NUMBER);
|
||||
#endif
|
||||
}
|
||||
|
@ -89,7 +76,7 @@ static inline void uart8_irq_deinit(void) {
|
|||
/* Driver interrupt handlers. */
|
||||
/*===========================================================================*/
|
||||
|
||||
#if STM32_UART8_IS_USED || defined(__DOXYGEN__)
|
||||
#if defined(STM32_UART8_IS_USED) || defined(__DOXYGEN__)
|
||||
/**
|
||||
* @brief UART8 interrupt handler.
|
||||
*
|
||||
|
|
|
@ -48,19 +48,6 @@
|
|||
|
||||
#endif /* STM32_HAS_USART1 */
|
||||
|
||||
/* Other checks.*/
|
||||
#if (HAL_USE_SERIAL && STM32_SERIAL_USE_USART1) && \
|
||||
(HAL_USE_UART && STM32_UART_USE_USART1)
|
||||
#error "USART1 used by multiple drivers"
|
||||
#endif
|
||||
|
||||
#if (HAL_USE_SERIAL && STM32_SERIAL_USE_USART1) || \
|
||||
(HAL_USE_UART && STM32_UART_USE_USART1)
|
||||
#define STM32_USART1_IS_USED TRUE
|
||||
#else
|
||||
#define STM32_USART1_IS_USED FALSE
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Driver exported variables. */
|
||||
/*===========================================================================*/
|
||||
|
@ -74,13 +61,13 @@
|
|||
/*===========================================================================*/
|
||||
|
||||
static inline void usart1_irq_init(void) {
|
||||
#if STM32_USART1_IS_USED
|
||||
#if defined(STM32_USART1_IS_USED)
|
||||
nvicEnableVector(STM32_USART1_NUMBER, STM32_IRQ_USART1_PRIORITY);
|
||||
#endif
|
||||
}
|
||||
|
||||
static inline void usart1_irq_deinit(void) {
|
||||
#if STM32_USART1_IS_USED
|
||||
#if defined(STM32_USART1_IS_USED)
|
||||
nvicDisableVector(STM32_USART1_NUMBER);
|
||||
#endif
|
||||
}
|
||||
|
@ -89,7 +76,7 @@ static inline void usart1_irq_deinit(void) {
|
|||
/* Driver interrupt handlers. */
|
||||
/*===========================================================================*/
|
||||
|
||||
#if STM32_USART1_IS_USED|| defined(__DOXYGEN__)
|
||||
#if defined(STM32_USART1_IS_USED) || defined(__DOXYGEN__)
|
||||
/**
|
||||
* @brief USART1 interrupt handler.
|
||||
*
|
||||
|
|
|
@ -48,19 +48,6 @@
|
|||
|
||||
#endif /* STM32_HAS_USART2 */
|
||||
|
||||
/* Other checks.*/
|
||||
#if (HAL_USE_SERIAL && STM32_SERIAL_USE_USART2) && \
|
||||
(HAL_USE_UART && STM32_UART_USE_USART2)
|
||||
#error "USART2 used by multiple drivers"
|
||||
#endif
|
||||
|
||||
#if (HAL_USE_SERIAL && STM32_SERIAL_USE_USART2) || \
|
||||
(HAL_USE_UART && STM32_UART_USE_USART2)
|
||||
#define STM32_USART2_IS_USED TRUE
|
||||
#else
|
||||
#define STM32_USART2_IS_USED FALSE
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Driver exported variables. */
|
||||
/*===========================================================================*/
|
||||
|
@ -74,13 +61,13 @@
|
|||
/*===========================================================================*/
|
||||
|
||||
static inline void usart2_irq_init(void) {
|
||||
#if STM32_USART2_IS_USED
|
||||
#if defined(STM32_USART2_IS_USED)
|
||||
nvicEnableVector(STM32_USART2_NUMBER, STM32_IRQ_USART2_PRIORITY);
|
||||
#endif
|
||||
}
|
||||
|
||||
static inline void usart2_irq_deinit(void) {
|
||||
#if STM32_USART2_IS_USED
|
||||
#if defined(STM32_USART2_IS_USED)
|
||||
nvicDisableVector(STM32_USART2_NUMBER);
|
||||
#endif
|
||||
}
|
||||
|
@ -89,7 +76,7 @@ static inline void usart2_irq_deinit(void) {
|
|||
/* Driver interrupt handlers. */
|
||||
/*===========================================================================*/
|
||||
|
||||
#if STM32_USART2_IS_USED || defined(__DOXYGEN__)
|
||||
#if defined(STM32_USART2_IS_USED) || defined(__DOXYGEN__)
|
||||
/**
|
||||
* @brief USART2 interrupt handler.
|
||||
*
|
||||
|
|
|
@ -48,19 +48,6 @@
|
|||
|
||||
#endif /* STM32_HAS_USART3 */
|
||||
|
||||
/* Other checks.*/
|
||||
#if (HAL_USE_SERIAL && STM32_SERIAL_USE_USART3) && \
|
||||
(HAL_USE_UART && STM32_UART_USE_USART3)
|
||||
#error "USART3 used by multiple drivers"
|
||||
#endif
|
||||
|
||||
#if (HAL_USE_SERIAL && STM32_SERIAL_USE_USART3) || \
|
||||
(HAL_USE_UART && STM32_UART_USE_USART3)
|
||||
#define STM32_USART3_IS_USED TRUE
|
||||
#else
|
||||
#define STM32_USART3_IS_USED FALSE
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Driver exported variables. */
|
||||
/*===========================================================================*/
|
||||
|
@ -74,13 +61,13 @@
|
|||
/*===========================================================================*/
|
||||
|
||||
static inline void usart3_irq_init(void) {
|
||||
#if STM32_USART3_IS_USED
|
||||
#if defined(STM32_USART3_IS_USED)
|
||||
nvicEnableVector(STM32_USART3_NUMBER, STM32_IRQ_USART3_PRIORITY);
|
||||
#endif
|
||||
}
|
||||
|
||||
static inline void usart3_irq_deinit(void) {
|
||||
#if STM32_USART3_IS_USED
|
||||
#if defined(STM32_USART3_IS_USED)
|
||||
nvicDisableVector(STM32_USART3_NUMBER);
|
||||
#endif
|
||||
}
|
||||
|
@ -89,7 +76,7 @@ static inline void usart3_irq_deinit(void) {
|
|||
/* Driver interrupt handlers. */
|
||||
/*===========================================================================*/
|
||||
|
||||
#if STM32_USART3_IS_USED || defined(__DOXYGEN__)
|
||||
#if defined(STM32_USART3_IS_USED) || defined(__DOXYGEN__)
|
||||
/**
|
||||
* @brief USART3 interrupt handler.
|
||||
*
|
||||
|
|
|
@ -56,37 +56,6 @@
|
|||
|
||||
#endif /* STM32_HAS_USART3 || STM32_HAS_UART4 || STM32_HAS_LPUART1 */
|
||||
|
||||
/* Other checks.*/
|
||||
#if (HAL_USE_SERIAL && STM32_SERIAL_USE_USART3) && \
|
||||
(HAL_USE_UART && STM32_UART_USE_USART3)
|
||||
#error "USART3 used by multiple drivers"
|
||||
#endif
|
||||
|
||||
#if (HAL_USE_SERIAL && STM32_SERIAL_USE_UART4) && \
|
||||
(HAL_USE_UART && STM32_UART_USE_UART4)
|
||||
#error "USART4 used by multiple drivers"
|
||||
#endif
|
||||
|
||||
#if (HAL_USE_SERIAL && STM32_SERIAL_USE_USART3) || \
|
||||
(HAL_USE_UART && STM32_UART_USE_USART3)
|
||||
#define STM32_USART3_IS_USED TRUE
|
||||
#else
|
||||
#define STM32_USART3_IS_USED FALSE
|
||||
#endif
|
||||
|
||||
#if (HAL_USE_SERIAL && STM32_SERIAL_USE_UART4) || \
|
||||
(HAL_USE_UART && STM32_UART_USE_UART4)
|
||||
#define STM32_USART4_IS_USED TRUE
|
||||
#else
|
||||
#define STM32_USART4_IS_USED FALSE
|
||||
#endif
|
||||
|
||||
#if (HAL_USE_SERIAL && STM32_SERIAL_USE_LPUART1)
|
||||
#define STM32_LPUART1_IS_USED TRUE
|
||||
#else
|
||||
#define STM32_LPUART1_IS_USED FALSE
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Driver exported variables. */
|
||||
/*===========================================================================*/
|
||||
|
@ -100,13 +69,15 @@
|
|||
/*===========================================================================*/
|
||||
|
||||
static inline void usart3_usart4_lpuart1_irq_init(void) {
|
||||
#if STM32_USART3_IS_USED || STM32_USART4_IS_USED || STM32_LPUART1_IS_USED
|
||||
#if defined(STM32_USART3_IS_USED) || defined(STM32_UART4_IS_USED) || \
|
||||
defined(STM32_LPUART1_IS_USED)
|
||||
nvicEnableVector(STM32_USART3_4_LP1_NUMBER, STM32_IRQ_USART3_4_LP1_PRIORITY);
|
||||
#endif
|
||||
}
|
||||
|
||||
static inline void usart3_usart4_lpuart1_irq_deinit(void) {
|
||||
#if STM32_USART3_IS_USED || STM32_USART4_IS_USED || STM32_LPUART1_IS_USED
|
||||
#if defined(STM32_USART3_IS_USED) || defined(STM32_UART4_IS_USED) || \
|
||||
defined(STM32_LPUART1_IS_USED)
|
||||
nvicDisableVector(STM32_USART3_4_LP1_NUMBER);
|
||||
#endif
|
||||
}
|
||||
|
@ -115,8 +86,8 @@ static inline void usart3_usart4_lpuart1_irq_deinit(void) {
|
|||
/* Driver interrupt handlers. */
|
||||
/*===========================================================================*/
|
||||
|
||||
#if STM32_USART3_IS_USED || STM32_USART4_IS_USED || \
|
||||
STM32_LPUART1_IS_USED || defined(__DOXYGEN__)
|
||||
#if defined(STM32_USART3_IS_USED) || defined(STM32_UART4_IS_USED) || \
|
||||
defined(STM32_LPUART1_IS_USED) || defined(__DOXYGEN__)
|
||||
/**
|
||||
* @brief USART4, USART5, LPUART1 interrupt handler.
|
||||
*
|
||||
|
|
|
@ -52,31 +52,6 @@
|
|||
|
||||
#endif /* STM32_HAS_UART4 || STM32_HAS_UART5 */
|
||||
|
||||
/* Other checks.*/
|
||||
#if (HAL_USE_SERIAL && STM32_SERIAL_USE_UART4) && \
|
||||
(HAL_USE_UART && STM32_UART_USE_UART4)
|
||||
#error "USART4 used by multiple drivers"
|
||||
#endif
|
||||
|
||||
#if (HAL_USE_SERIAL && STM32_SERIAL_USE_UART5) && \
|
||||
(HAL_USE_UART && STM32_UART_USE_UART5)
|
||||
#error "USART5 used by multiple drivers"
|
||||
#endif
|
||||
|
||||
#if (HAL_USE_SERIAL && STM32_SERIAL_USE_UART4) || \
|
||||
(HAL_USE_UART && STM32_UART_USE_UART4)
|
||||
#define STM32_USART4_IS_USED TRUE
|
||||
#else
|
||||
#define STM32_USART4_IS_USED FALSE
|
||||
#endif
|
||||
|
||||
#if (HAL_USE_SERIAL && STM32_SERIAL_USE_UART5) || \
|
||||
(HAL_USE_UART && STM32_UART_USE_UART45)
|
||||
#define STM32_USART5_IS_USED TRUE
|
||||
#else
|
||||
#define STM32_USART5_IS_USED FALSE
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Driver exported variables. */
|
||||
/*===========================================================================*/
|
||||
|
@ -90,13 +65,13 @@
|
|||
/*===========================================================================*/
|
||||
|
||||
static inline void usart4_usart5_irq_init(void) {
|
||||
#if STM32_USART4_IS_USED || STM32_USART5_IS_USED
|
||||
#if defined(STM32_UART4_IS_USED) || defined(STM32_UART5_IS_USED)
|
||||
nvicEnableVector(STM32_USART4_5_NUMBER, STM32_IRQ_USART4_5_PRIORITY);
|
||||
#endif
|
||||
}
|
||||
|
||||
static inline void usart4_usart5_irq_deinit(void) {
|
||||
#if STM32_USART4_IS_USED || STM32_USART5_IS_USED
|
||||
#if defined(STM32_UART4_IS_USED) || defined(STM32_UART5_IS_USED)
|
||||
nvicDisableVector(STM32_USART4_5_NUMBER);
|
||||
#endif
|
||||
}
|
||||
|
@ -105,7 +80,7 @@ static inline void usart4_usart5_irq_deinit(void) {
|
|||
/* Driver interrupt handlers. */
|
||||
/*===========================================================================*/
|
||||
|
||||
#if STM32_USART4_IS_USED || STM32_USART5_IS_USED || \
|
||||
#if defined(STM32_UART4_IS_USED) || defined(STM32_UART5_IS_USED) || \
|
||||
defined(__DOXYGEN__)
|
||||
/**
|
||||
* @brief USART4, USART5, LPUART1 interrupt handler.
|
||||
|
|
|
@ -48,19 +48,6 @@
|
|||
|
||||
#endif /* STM32_HAS_USART6 */
|
||||
|
||||
/* Other checks.*/
|
||||
#if (HAL_USE_SERIAL && STM32_SERIAL_USE_USART6) && \
|
||||
(HAL_USE_UART && STM32_UART_USE_USART6)
|
||||
#error "USART6 used by multiple drivers"
|
||||
#endif
|
||||
|
||||
#if (HAL_USE_SERIAL && STM32_SERIAL_USE_USART6) || \
|
||||
(HAL_USE_UART && STM32_UART_USE_USART6)
|
||||
#define STM32_USART6_IS_USED TRUE
|
||||
#else
|
||||
#define STM32_USART6_IS_USED FALSE
|
||||
#endif
|
||||
|
||||
/*===========================================================================*/
|
||||
/* Driver exported variables. */
|
||||
/*===========================================================================*/
|
||||
|
@ -74,13 +61,13 @@
|
|||
/*===========================================================================*/
|
||||
|
||||
static inline void usart6_irq_init(void) {
|
||||
#if STM32_USART6_IS_USED
|
||||
#if defined(STM32_USART6_IS_USED)
|
||||
nvicEnableVector(STM32_USART6_NUMBER, STM32_IRQ_USART6_PRIORITY);
|
||||
#endif
|
||||
}
|
||||
|
||||
static inline void usart6_irq_deinit(void) {
|
||||
#if STM32_USART6_IS_USED
|
||||
#if defined(STM32_USART6_IS_USED)
|
||||
nvicDisableVector(STM32_USART6_NUMBER);
|
||||
#endif
|
||||
}
|
||||
|
@ -89,7 +76,7 @@ static inline void usart6_irq_deinit(void) {
|
|||
/* Driver interrupt handlers. */
|
||||
/*===========================================================================*/
|
||||
|
||||
#if STM32_USART6_IS_USED || defined(__DOXYGEN__)
|
||||
#if defined(STM32_USART6_IS_USED) || defined(__DOXYGEN__)
|
||||
/**
|
||||
* @brief USART6 interrupt handler.
|
||||
*
|
||||
|
|
|
@ -74,6 +74,8 @@
|
|||
*****************************************************************************
|
||||
|
||||
*** Next ***
|
||||
- NEW: Simplified USART units use collision detection in STM32 HAL, now it is
|
||||
done like for TIM units for consistency.
|
||||
- NEW: Identification macros such as__CHIBIOS_RT__ are now prefixed by
|
||||
two underscores.
|
||||
- NEW: Support for 3 analog watchdogs in ADCv3 (STM32F3, L4, L4+, G4).
|
||||
|
|
Loading…
Reference in New Issue