Hi @EduardoZamora
Thank you for your answer. I ported it to my code, but it always causes a nonstop reset. My code is as follows. Do you know why?
int main(void)
{
int ble_sleep_st, usr_sleep_st;
// DC-DC
dc_dc_enable(QN_DC_DC_ENABLE);
rf_tx_power_level_set (TX_GAIN_LEVLE12); // 4dbm
// QN platform initialization
#if QN_NVDS_WRITE
plf_init(QN_POWER_MODE, __XTAL, QN_32K_RCO, nvds_tmp_buf, NVDS_TMP_BUF_SIZE);
#else
plf_init(QN_POWER_MODE, __XTAL, QN_32K_RCO, NULL, 0);
#endif
#if (defined(QN_9020_B1) && (!QN_PMU_VOLTAGE))
disable_patch_b1();
#endif
// System initialization, user configuration
SystemInit();
// Enable comparator of brown-out detector
syscon_SetPGCR2WithMask(QN_SYSCON, SYSCON_MASK_BD_AMP_EN, MASK_ENABLE);
delay(10);
// Set Browned out detector threshold voltage to 1.6V
syscon_SetAnalogCRWithMask(QN_SYSCON, SYSCON_MASK_BD_TH, MASK_ENABLE);
// Enable browned out detector
syscon_SetAnalogCRWithMask(QN_SYSCON, SYSCON_MASK_BD_EN, MASK_ENABLE);
// Profiles register
#if (QN_WORK_MODE != WORK_MODE_HCI)
prf_register();
#endif
...
}
Best wishes
Ted Wu