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

NRF52810 Unable to get GPIO output on P0.15.

Part - NRF52810-QFAA-R7

Hi,

I've tried two chips, reflowed and checked under microscope. I have a connection to the track the pin connects to.

Errata is applied via SystemInit();

Straight after this the pin is set high. It has a 470k pull down resistor but otherwise no load.

  NRF_GPIO->PIN_CNF[CFG_PIN_SHUTDOWN_AWAKE] = pinDisconnectInputBuffer | (GPIO_PIN_CNF_DIR_Output << GPIO_PIN_CNF_DIR_Pos);
  NRF_GPIO->OUTSET = 1 << CFG_PIN_SHUTDOWN_AWAKE;

However the pin remains low. I've checked that it's not used by default by any peripherals or set in conflicting code.

I did find something about debug and tracemode though this was for the 832. I tried it anyway but it made no difference.

  CoreDebug->DEMCR &= ~CoreDebug_DEMCR_TRCENA_Msk;

Anything else?

Cheers, Andrew

Parents
  • I've threw everything at it. I'm 100% sure the pin has reflow soldered correctly and I have a trace on the line which suggests it's driven low. I'm not using any of the SDK functionality so the only pin management code I have is -

    #define CFG_PIN_SHUTDOWN_AWAKE 15
    #define pinDisconnectInputBuffer GPIO_PIN_CNF_INPUT_Disconnect << GPIO_PIN_CNF_INPUT_Pos

    NRF_GPIO->PIN_CNF[CFG_PIN_SHUTDOWN_AWAKE] = pinDisconnectInputBuffer | (GPIO_PIN_CNF_DIR_Output << GPIO_PIN_CNF_DIR_Pos);
    NRF_GPIO->OUTSET = 1 << CFG_PIN_SHUTDOWN_AWAKE;

    I've also tried swapping the chip.

    The only thing I can think off is it's used by default or by debugging by default in some way.

    Preprocessor defs are

    NRF_LOG_ENABLED=1

    DEBUG

    DEBUG_NRF

    INITIALIZE_USER_SECTIONS

    FLOAT_ABI_SOFT

    NO_VTOR_CONFIG

    NRF52810_XXAA

    NRF_SD_BLE_API_VERSION=7

    S112

    SOFTDEVICE_PRESENT

    APP_TIMER_V2

    APP_TIMER_V2_RTC1_ENABLED

    FLASH_APPSETTINGS_START=0x00027000

    FLASH_APPSETTINGS_END=0x00028000

    FLASH_BOOTLOADERSETTINGS_START=0x0002F000





Reply
  • I've threw everything at it. I'm 100% sure the pin has reflow soldered correctly and I have a trace on the line which suggests it's driven low. I'm not using any of the SDK functionality so the only pin management code I have is -

    #define CFG_PIN_SHUTDOWN_AWAKE 15
    #define pinDisconnectInputBuffer GPIO_PIN_CNF_INPUT_Disconnect << GPIO_PIN_CNF_INPUT_Pos

    NRF_GPIO->PIN_CNF[CFG_PIN_SHUTDOWN_AWAKE] = pinDisconnectInputBuffer | (GPIO_PIN_CNF_DIR_Output << GPIO_PIN_CNF_DIR_Pos);
    NRF_GPIO->OUTSET = 1 << CFG_PIN_SHUTDOWN_AWAKE;

    I've also tried swapping the chip.

    The only thing I can think off is it's used by default or by debugging by default in some way.

    Preprocessor defs are

    NRF_LOG_ENABLED=1

    DEBUG

    DEBUG_NRF

    INITIALIZE_USER_SECTIONS

    FLOAT_ABI_SOFT

    NO_VTOR_CONFIG

    NRF52810_XXAA

    NRF_SD_BLE_API_VERSION=7

    S112

    SOFTDEVICE_PRESENT

    APP_TIMER_V2

    APP_TIMER_V2_RTC1_ENABLED

    FLASH_APPSETTINGS_START=0x00027000

    FLASH_APPSETTINGS_END=0x00028000

    FLASH_BOOTLOADERSETTINGS_START=0x0002F000





Children
No Data
Related