I-SYST / EHAL

Embedded Hardware Abstraction Library
BSD 3-Clause "New" or "Revised" License
96 stars 24 forks source link

Enabling multiple interrupt causes multiple triggering even when only one should be triggered #19

Closed souellet-ms closed 7 years ago

souellet-ms commented 7 years ago

Using EHAL for Nordic nRF52.

When enabling multiple interrupt using IOPinEnableInterrupt with different Interrupt number, if we trigger an interrupt by applying the desired transition on a specific pin, the GPIOTE_IRQHandler called all assigned callback for all PIN, instead of only the triggered pin. The IRQHandler should not check for either EVENTS_IN or EVENTS_PORT is valid but the condition should be separated, in order to detect specific pin interrupt (EVENTS_IN) and sense detect (EVENTS_PORT) separately since a EVENTS_IN interrupt will always trigger EVENTS_PORT.

hnhoan commented 7 years ago

ac98fdde0ee951cf57528c7b4768d1a3ff9646e4