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

P0.28 and P0.29 Cannot drive high

Hi,

I am trying to set up a slave select on P0.28 but I noticed it's not driving high.  I've tried several settings and I'm now using the example from https://devzone.nordicsemi.com/f/nordic-q-a/19075/gpio-configuration-code so that my main() code is now just the following:

uart_init();
simple_uart_putstring((const uint8_t *)" \n\rGPIO Test Start");
nrf_gpio_cfg_output(28);
nrf_gpio_pin_clear(28);
while(1)
{
simple_uart_putstring((const uint8_t *)" \n\rBLINK!");
nrf_gpio_pin_toggle(28);
nrf_delay_ms(2000);
}

I still get nothing on P0.28; it's always low.  I tested other pins around P0.28 and noticed that both P0.28 and P0.29 appear to have a weak drive (I see the voltage output oscillate from 0 - 0.2V on P0.29 and 0 - 0.9V on P0.28 using the code above).

I reconfigured P0.28 with the following settings to give it higher drive strength, but this only brought it to a range of 0 - 1.1V:

nrf_gpio_cfg(28, NRF_GPIO_PIN_DIR_OUTPUT, NRF_GPIO_PIN_INPUT_DISCONNECT, NRF_GPIO_PIN_NOPULL, NRF_GPIO_PIN_H0H1, NRF_GPIO_PIN_NOSENSE);

I'd assume something is sinking the current if high drive doesn't do it.  However, I checked the resistance to GND on P0.28 and it's about 300k, so there isn't a short.

Is there some special configuration needed on P0.28 and P0.29 to make it an output?

Best,

Matt

Related