Hi all,
there is a nice section in here already about enabling the Reset input (P0.21). Unfortunately the link to the relevant infocenter docu is missing.
Could you tell me how to enable Reset so that my reset button works?
Thank you
Hi all,
there is a nice section in here already about enabling the Reset input (P0.21). Unfortunately the link to the relevant infocenter docu is missing.
Could you tell me how to enable Reset so that my reset button works?
Thank you
If you are using a SDK example application you can enable the reset pin by defining CONFIG_GPIO_AS_PINRESET
, as described here. This enables this snippet of code from system_nrf52.c, which configures the pin as a reset pin:
#if defined (CONFIG_GPIO_AS_PINRESET)
if (((NRF_UICR->PSELRESET[0] & UICR_PSELRESET_CONNECT_Msk) != (UICR_PSELRESET_CONNECT_Connected << UICR_PSELRESET_CONNECT_Pos)) ||
((NRF_UICR->PSELRESET[0] & UICR_PSELRESET_CONNECT_Msk) != (UICR_PSELRESET_CONNECT_Connected << UICR_PSELRESET_CONNECT_Pos))){
NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Wen << NVMC_CONFIG_WEN_Pos;
while (NRF_NVMC->READY == NVMC_READY_READY_Busy){}
NRF_UICR->PSELRESET[0] = 21;
while (NRF_NVMC->READY == NVMC_READY_READY_Busy){}
NRF_UICR->PSELRESET[1] = 21;
while (NRF_NVMC->READY == NVMC_READY_READY_Busy){}
NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Ren << NVMC_CONFIG_WEN_Pos;
while (NRF_NVMC->READY == NVMC_READY_READY_Busy){}
NVIC_SystemReset();
}
#endif
Thank you - works well
The link is broken.