summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoriabdalkader <i.abdalkader@gmail.com>2019-12-17 19:43:26 +0200
committerDamien George <damien.p.george@gmail.com>2019-12-19 17:19:53 +1100
commit3078a4b2e233a7c224cd4f337b8fadf5bf53257f (patch)
treee3e990950a3f2f6f4913b7d556fdc4e62f04a21e
parent8449e41818f26c1e3a970d7181bb82ae2d3e2278 (diff)
stm32/timer: Add missing TIM 1/15/16/17 IRQ handlers for H7 MCUs.
-rw-r--r--ports/stm32/stm32_it.c28
-rw-r--r--ports/stm32/timer.c4
2 files changed, 31 insertions, 1 deletions
diff --git a/ports/stm32/stm32_it.c b/ports/stm32/stm32_it.c
index e12cf4bf2..e77642b8e 100644
--- a/ports/stm32/stm32_it.c
+++ b/ports/stm32/stm32_it.c
@@ -609,6 +609,14 @@ void TIM1_UP_TIM16_IRQHandler(void) {
}
#endif
+#if defined(STM32H7)
+void TIM1_UP_IRQHandler(void) {
+ IRQ_ENTER(TIM1_UP_IRQn);
+ timer_irq_handler(1);
+ IRQ_EXIT(TIM1_UP_IRQn);
+}
+#endif
+
void TIM1_TRG_COM_TIM11_IRQHandler(void) {
IRQ_ENTER(TIM1_TRG_COM_TIM11_IRQn);
timer_irq_handler(11);
@@ -705,6 +713,26 @@ void TIM8_TRG_COM_TIM14_IRQHandler(void) {
}
#endif
+#if defined(STM32H7)
+void TIM15_IRQHandler(void) {
+ IRQ_ENTER(TIM15_IRQn);
+ timer_irq_handler(15);
+ IRQ_EXIT(TIM15_IRQn);
+}
+
+void TIM16_IRQHandler(void) {
+ IRQ_ENTER(TIM16_IRQn);
+ timer_irq_handler(16);
+ IRQ_EXIT(TIM16_IRQn);
+}
+
+void TIM17_IRQHandler(void) {
+ IRQ_ENTER(TIM17_IRQn);
+ timer_irq_handler(17);
+ IRQ_EXIT(TIM17_IRQn);
+}
+#endif
+
// UART/USART IRQ handlers
void USART1_IRQHandler(void) {
IRQ_ENTER(USART1_IRQn);
diff --git a/ports/stm32/timer.c b/ports/stm32/timer.c
index 834ebd9c8..2e8f3e05b 100644
--- a/ports/stm32/timer.c
+++ b/ports/stm32/timer.c
@@ -759,6 +759,8 @@ STATIC const uint32_t tim_instance_table[MICROPY_HW_MAX_TIMER] = {
TIM_ENTRY(1, TIM1_BRK_UP_TRG_COM_IRQn),
#elif defined(STM32F4) || defined(STM32F7)
TIM_ENTRY(1, TIM1_UP_TIM10_IRQn),
+ #elif defined(STM32H7)
+ TIM_ENTRY(1, TIM1_UP_IRQn),
#elif defined(STM32L4)
TIM_ENTRY(1, TIM1_UP_TIM16_IRQn),
#endif
@@ -780,7 +782,7 @@ STATIC const uint32_t tim_instance_table[MICROPY_HW_MAX_TIMER] = {
TIM_ENTRY(7, TIM7_IRQn),
#endif
#if defined(TIM8)
- #if defined(STM32F4) || defined(STM32F7)
+ #if defined(STM32F4) || defined(STM32F7) || defined(STM32H7)
TIM_ENTRY(8, TIM8_UP_TIM13_IRQn),
#elif defined(STM32L4)
TIM_ENTRY(8, TIM8_UP_IRQn),