This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

GPIO Interrupts not working

Hi,

I'm programming a custom board based on Taiyo-Yuden EYSHSNZWZ module (with nRF52832).

I'm using the secure_bootloader example from SDK for OTA DFU, in order to flash the main application.

The main application makes use of a GPIO interrupt line, but no interrupts are fired, even if I try to rise up "manually" the pin voltage level.

The same code works fine on another nRF52832-based board (with different bootloader)

Should I modify the bootloader code? If so, how?

Thanks in advance for your help!

 

  • Hi,

    Have you tried to debug the application to verify that your program reaches main()? Also, is the application programmed via the Bootloader (DFU), or through the debug interface?

    Best regards,

    Vidar

  • Hi Vidar, thank you very much for your reply.
    The program is uploaded via the bootloader (OTA) and actually reaches main() and executes correctly. It uses I2C interface, reads values from sensor and sends packets over Bluetooth. I configure one pin to fire an interrupt when voltage level raises, but it does not work. When uploading the same application to a Feather nRF52832 board (with Adafruit bootloader), interrupts work as expected.

    On my custom board I'm using the example secure_bootloader from Nordic's SDK. Do I need to forward interrupts from bootloader to SD and application? If this is the case, where and how shoud I modify the bootloader code?

    Thanks a lot,

  • Hi,

    It doesn't sounds like a problem with interrupt forwarding. You would not have been able to enable the Softdevice if that was the case. Note that application interrupts will be forwarded via the mbr->Softdevice after the application has been started by the bootloader, so there isn't any interrupt forwarding mechanism inside the bootloader.

    Which GPIO have you selected for this input, and are there other inputs you can try this on (in case there is a bad connection due to a bad solder joint, etc) ?

  • Hi Vidar,
    that was what I suspected, too. For this reason I flashed the BL+SD to the evaluation board of the EYSHSNZWZ, by Taiyo-Yuden, and uploaded application via OTA DFU . I've tried with several pins.
    If you confirm that it cannot be due to bootloader issues, I think it's likely to be a sw problem. I used libraries by Adafruit, developed for the same SD. Now I'm trying to develop the same application using original SDK. I will let you know.
    Thank you very much for your valuable support,

    kind regards

    b

  • Hi,

    I would suggest you try the Pin Change Interrupt Example if you haven't tried already, and see if that works (just change the button & LED pinout assigments if needed)

    Kind regards,

    Vidar

Related