Skip to main content
arjun.binu
Associate III
April 21, 2023
Solved

How to implement level triggered interrupts with EXTI

  • April 21, 2023
  • 3 replies
  • 1931 views

Edge-triggered interrupts had been used by us to identify various system states. However, it appears that the interrupts are now sometime erroneous and cause an undesirable state change. This led us to search for implementations where level-triggered interrupts would determine when a state would change.

Note: STM32G041F6P6 is the MCU being used.

This topic has been closed for replies.
Best answer by waclawek.jan

> How to implement level triggered interrupts with EXTI

You can't.

JW

3 replies

waclawek.jan
waclawek.janBest answer
Super User
April 21, 2023

> How to implement level triggered interrupts with EXTI

You can't.

JW

S.Ma
Principal
April 21, 2023

Use a timer input capture channel to generate interrupt (channel 1 or 2 typically) which has some input signal digital filtering capability.

Or make the EXTI interrupt self disable itself and reenable after a timer window period.

waclawek.jan
Super User
April 21, 2023

> Use a timer input capture channel to generate interrupt (channel 1 or 2 typically) which has some input signal digital filtering capability.

That's still edge-triggered.

> Or make the EXTI interrupt self disable itself and reenable after a timer window period.

That won't generate an interrupt, if pin is at the same level.

JW

EDIT: This is a recurring question on this forum, so you can find several threads discussing it. Maybe this one will help https://community.st.com/s/question/0D53W00000S78MOSAZ/level-sensitive-interrupts-with-exti