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

Recover nRF52840 dongle after UICR erase

Hello,

I am trying to 'recover nRF52840 dongle after accidental UICR erase' as described here
I did modify my dongle as described here

Unfortunately I do not know how to set the REGOUT0 as described.
I don't know what I am looking for...

Probably a header file which contains the REGOUT0 value (?) 

Could you please help me out?

Thanks,

Matthew 

Parents
  • // Configure UICR_REGOUT0 register
    
    NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Wen;
    while (NRF_NVMC->READY == NVMC_READY_READY_Busy){} // Wait for on-going NVMC operation to complete.
    
    NRF_UICR->REGOUT0 = (NRF_UICR->REGOUT0 & ~((uint32_t)UICR_REGOUT0_VOUT_Msk)) |
    (UICR_REGOUT0_VOUT_3V3<< UICR_REGOUT0_VOUT_Pos);
    
    NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Ren;
    while (NRF_NVMC->READY == NVMC_READY_READY_Busy){} 
    
    // System reset is needed to update UICR registers.
    NVIC_SystemReset();
    

     
Reply
  • // Configure UICR_REGOUT0 register
    
    NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Wen;
    while (NRF_NVMC->READY == NVMC_READY_READY_Busy){} // Wait for on-going NVMC operation to complete.
    
    NRF_UICR->REGOUT0 = (NRF_UICR->REGOUT0 & ~((uint32_t)UICR_REGOUT0_VOUT_Msk)) |
    (UICR_REGOUT0_VOUT_3V3<< UICR_REGOUT0_VOUT_Pos);
    
    NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Ren;
    while (NRF_NVMC->READY == NVMC_READY_READY_Busy){} 
    
    // System reset is needed to update UICR registers.
    NVIC_SystemReset();
    

     
Children
Related