cancel
Showing results for 
Search instead for 
Did you mean: 

EXTI IRQ vs EVENT

tm3341
Associate II
Posted on August 06, 2015 at 08:08

Hello,

I don't know if this was already discusses somewhere, but what is main difference between EXTI interrupt and event mode? I understand that in EVENT mode IRQ is not called or similar, but how to handle events?

I'm sure there could be a better explanation in reference manuals.

I'm talking about F4xx series.

Thanks for answer.

#exti #event #interrupt
2 REPLIES 2
stm322399
Senior
Posted on August 06, 2015 at 11:41

The main difference between interrupt and event, is that interrupts trigger the execution of an interrupt handler, whereas event do not.

Events are very useful to use low power features of the MCU (WFE) in an infinite loop waiting for ... events ! The execution is sequential.

With interrupts, when the CPU is in low power (WFI), it will try to execute an interrupt handler when it wakes up. I say 'try', because this could be prevented by WFI with interrupt disabled (shoudn't WFE be preferred in that case?)

tm3341
Associate II
Posted on August 06, 2015 at 14:27

Yeah, if this is only case, then I won't use events.

Like you said. I always use WFI and __disable_irq() if needed. Why? When processor wakes up, I wanna do some things before jump to imterrupt routine, so:

__disable_irq()

__WFI()

do_important_before_irq_handler();

__enable_irq()

IRQ_Service_rountine_is_called().

With event (WFE) I could not get that. But anyway, I was just hoping here is any ''better'' difference.

Thanks for answer.