Skip to content

GPIO interrupt only called once on nRF52832 #8252

@JoeHut

Description

@JoeHut

I have a weird issue with GPIO interrupts on a custom board with a nRF52832. I have two peripherals that use GPIO interrupts (one switch and one RF module). Their drivers are implemented as Zephyr subsystems with initialization priorities that make sure they are only initialized after the GPIO driver (POST_KERNEL, priority >50). So the pins are configured in the initialization functions called by the kernel and the actual interrupt callbacks are added later in the application.

The problem I am facing now is that the interrupt callbacks are called every time on the pins of the driver that was first initialized. But the interrupt callback on the pin of the device that was later initialized is only called once and than never again. It is also interesting that the second callback is called twice if the interrupt is configured on both rising and falling edge, but than never again. The callbacks are not disabled manually until this point.

I was unfortunately not able to reproduce it on a development board since it is hard to connect the peripherals on a breakout and reproduction with a trivial example (switches on the devkit) did not show the same results.

I know it is hard to debug this without a proper way to reproduce it but I thought maybe someone has seen something similar before or can point me to places I should check.

Metadata

Metadata

Labels

area: GPIObugThe issue is a bug, or the PR is fixing a bugplatform: nRFNordic nRFxpriority: lowLow impact/importance bug

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions