nRF52 低功耗调试记录

芯片低功耗调试记录。

1. 初始化配置

void main(void)
{
    clock_init();

    // Activate deep sleep mode.
//    SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk;
    NRF_POWER->DCDCEN = 1;
//    NRF_POWER->DCDCEN0 = 1;

    ble_init();
}


2. 进入低功耗前

进入低功耗前,需要对系统进行设置,降低电流消耗。

  • 关闭无用模块电源
  • 关闭外设
  • 释放引脚

引脚释放调用接口,如下所示。

nrf_gpio_cfg_default( Pin_num );

释放串口外设

app_uart_close();


3. 低功耗运行操作

在无任务,空闲等待时,调试如下指令,让MCU进入低功耗状态。
未使用BLE协议栈低功耗指令。

__WFI()
__WFE()

使用BLE协议栈低功耗指令。

sd_app_evt_wait()


4. 蓝牙配置

  • 修改蓝牙广播间隔
  • 修改蓝牙连接间隔


附A:其他解决方法参考

  1. 日志不用UART,而是使用RTT输出。
  2. 关闭高速时钟

你可能感兴趣的:(nRF52 低功耗调试记录)