houge 发表于 2024-1-21 11:21:59

nrf52832运行中死机

最近用nrf52832芯片做了一个产品,烧录程序后运行,有些可以正常工作,有些运行几秒或者几十秒后就不动了,估计是死机了。但是我用j-link仿真或者连rtt viewer监控时,一切正常,好奇怪,兄弟们,谁遇到过这种问题,指点一下,谢谢!!!

houge 发表于 2024-1-21 11:37:33

应该跟下面这个进入低功耗代码有关系,把这个关了,不接仿真器也能正常运行了

#define SOFTDEVICE_PRESENT
void nrf_pwr_mgmt_run(void)
{
    PWR_MGMT_FPU_SLEEP_PREPARE();
    PWR_MGMT_SLEEP_LOCK_ACQUIRE();
    PWR_MGMT_CPU_USAGE_MONITOR_SECTION_ENTER();
    PWR_MGMT_DEBUG_PIN_SET();

    // Wait for an event.
#ifdef SOFTDEVICE_PRESENT
    if (nrf_sdh_is_enabled())
    {
      ret_code_t ret_code = sd_app_evt_wait();
      ASSERT((ret_code == NRF_SUCCESS) || (ret_code == NRF_ERROR_SOFTDEVICE_NOT_ENABLED));
      UNUSED_VARIABLE(ret_code);
    }
    else
#endif // SOFTDEVICE_PRESENT
    {
      // Wait for an event.
      __WFE();
      // Clear the internal event register.
      __SEV();
      __WFE();
    }

    PWR_MGMT_DEBUG_PIN_CLEAR();
    PWR_MGMT_CPU_USAGE_MONITOR_SECTION_EXIT();
    PWR_MGMT_SLEEP_LOCK_RELEASE();
}
页: [1]
查看完整版本: nrf52832运行中死机