芯片低功耗调试记录。
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:其他解决方法参考
- 日志不用UART,而是使用RTT输出。
- 关闭高速时钟