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

Can GPIOTE function as an output-enable?

Hi,

I have a use in mind for a Nordic part, probably the nRF52810. It would be nice to have an input on one pin act as an output enable for several other pins, i.e. when the input is high, the outputs are Hi-Z; when the input is low, the outputs are driven to the GPIO values specified by the software.

Obviously, this could be achieved using an external tri-state buffer, but it would save money and board space if the nRF52810 itself could do it. It feels like something that ought to be achievable using GPIOTE, but by my tentative understanding it can't?

Is there any way an nRF52810 could do what I want, via GPIOTE or otherwise?

Thanks,

--Clive.

  • Hi Clive,

    GPIOTE with PPI can only be used to set, clear or toggle GPIO output pins. There is no way to change the pin configuration to make it high impedance from PPI.

    The only way you can do this is to trigger a interrupt from the GPIO input pin, and change the configuration of the output pins in software. But that will obviously take much more time than if you could do with PPI and GPIOTE. If that is not good enough, then I am afraid you have to this outside the nRF like you wrote.

    Einar

  • Thanks for your help. That's what I feared; at least it means I wasn't mis-reading the documentation!

    Though such a feature would be useful for things like interacting with a parallel bus, in my case my main concern is reliability, not speed: I want to be sure of getting the nRF52810 off those lines even if it's crashed. I guess I have to choose between a watchdog timer and a buffer.

Related