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

about GPIOTE event

I'm developing a fingerprint-related project.
When the finger touches, the fingerprint sensor generates a pulse signal.
NRF52810 will triggers a GPIOTE callback, then wakeup and start BLE advertisement.

When finger touches, the problem is,
a. The oscilloscope always can display the pulse waveforms
b. But the GPIOTE callback has the probability of being locked up
c. Once locked up, the GPIOTE callback event never happen again, until reset

A lot of testing work shows that, this problem is easy to occur when UART/UARTE is used.

What I want to ask is, how to configure it to ensure that GPIOTE event will happen? Thanks!

Parents Reply
  • Hi 

    If you want to call a SoftDevice function (any function with the sd_ prefix), or an SDK function that calls into the SoftDevice under the hood, you have to be in interrupt priorty 6, 7, or in thread context. 

    The GPIOTE driver should not need to call any SoftDevice functions, so it should be safe to run at interrupt priorities 2 and 3 also. 

    Best regards
    Torbjørn

Children
Related