AnsweredAssumed Answered

Software interrupt basics

Question asked by Beck.Karl_Michael on Aug 25, 2016
Latest reply on Aug 26, 2016 by Beck.Karl_Michael
Hello,

i try to intialize and rise an software interrupt on stm32 platform.

As far as i've found out one needs to set ExtI.SWIER register which effectively will invoke the interrupt handler function.

So i assume setting ExtI.SWIER |= 4
will call the EXTI2_IRQHandler.
Q1: is that right?
Q2: How does the mapping between the SWIER bit number to the IRQ_Handler work? I mean, there are 23 ier-sw interrupts or so but only 5 ExtIX handlers...

2. there seem some initialization to be missing. I found a statement here in the forum that IER has to be set.... Now IER exists in various registers like lcd, flash .... but none of them seems to match this approach.
Q3: Which IER register has to be set?

In the docu it's stated that ExtI.IMR and ExtI.EMR needs to be setup too. As far as i understand i don't need Ext.Emr (thats only for rising/falling edge events)
Q4: Is that right?

Thanks+ cheers.

Outcomes