aboutsummaryrefslogtreecommitdiff
path: root/ports/stm32/stm32_it.c
diff options
context:
space:
mode:
authorChris Mason2021-02-17 11:07:34 +1100
committerDamien George2021-02-21 15:49:32 +1100
commit9d674cf7ab8570637dfab23811800e3b98babad9 (patch)
treec9a3b89e1da78298579209027d4a1057d301680e /ports/stm32/stm32_it.c
parent1342debb9b419f78566e173b55b67b15f0a89ee4 (diff)
stm32/uart: Add support for LPUART1 on L0, L4, H7 and WB MCUs.
Add LPUART1 as a standard UART. No low power features are supported, yet. LPUART1 is enabled as the next available UART after the standard U(S)ARTs: STM32WB: LPUART1 = UART(2) STM32L0: LPUART1 = UART(6) STM32L4: LPUART1 = UART(6) STM32H7: LPUART1 = UART(9) On all ports: LPUART1 = machine.UART('LP1') LPUART1 is enabled by defining MICROPY_HW_LPUART1_TX and MICROPY_HW_LPUART1_RX in mpconfigboard.h. Signed-off-by: Chris Mason <c.mason@inchipdesign.com.au>
Diffstat (limited to 'ports/stm32/stm32_it.c')
-rw-r--r--ports/stm32/stm32_it.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/ports/stm32/stm32_it.c b/ports/stm32/stm32_it.c
index 8e96da177..dc96e2dd6 100644
--- a/ports/stm32/stm32_it.c
+++ b/ports/stm32/stm32_it.c
@@ -742,11 +742,13 @@ void USART1_IRQHandler(void) {
IRQ_EXIT(USART1_IRQn);
}
+#if defined(USART2)
void USART2_IRQHandler(void) {
IRQ_ENTER(USART2_IRQn);
uart_irq_handler(2);
IRQ_EXIT(USART2_IRQn);
}
+#endif
#if defined(STM32F0)
@@ -772,29 +774,37 @@ void USART4_5_IRQHandler(void) {
#else
+#if defined(USART3)
void USART3_IRQHandler(void) {
IRQ_ENTER(USART3_IRQn);
uart_irq_handler(3);
IRQ_EXIT(USART3_IRQn);
}
+#endif
+#if defined(UART4)
void UART4_IRQHandler(void) {
IRQ_ENTER(UART4_IRQn);
uart_irq_handler(4);
IRQ_EXIT(UART4_IRQn);
}
+#endif
+#if defined(UART5)
void UART5_IRQHandler(void) {
IRQ_ENTER(UART5_IRQn);
uart_irq_handler(5);
IRQ_EXIT(UART5_IRQn);
}
+#endif
+#if defined(USART6)
void USART6_IRQHandler(void) {
IRQ_ENTER(USART6_IRQn);
uart_irq_handler(6);
IRQ_EXIT(USART6_IRQn);
}
+#endif
#if defined(UART7)
void UART7_IRQHandler(void) {
@@ -830,6 +840,14 @@ void UART10_IRQHandler(void) {
#endif
+#if defined(LPUART1)
+void LPUART1_IRQHandler(void) {
+ IRQ_ENTER(LPUART1_IRQn);
+ uart_irq_handler(PYB_LPUART_1);
+ IRQ_EXIT(LPUART1_IRQn);
+}
+#endif
+
#if MICROPY_PY_PYB_LEGACY
#if defined(MICROPY_HW_I2C1_SCL)