使用本周的SDK
使用 example/dev1.0/ble_multi_role 工程
编译使用 GNU ARM GCC 6.2
为了测试低功耗,把如下函数做了屏蔽,也就是软件不做任何事
void user_entry_after_ble_init(void)
{
co_printf("BLE Multi Role\r\n");
co_printf("POWER SAMVE EN:%d\r\n", __jump_table.system_option&SYSTEM_OPTION_SLEEP_ENABLE);
// User task initialization, for buttons.
//user_task_init();
// Application layer initialization, can included bond manager init,
// advertising parameters init, scanning parameter init, GATT service adding, etc.
//multi_role_init();
}
硬件板子采用电池供电,拔掉 3V3_LDO的跳线,因为我还不知道如何关闭这个LDO,软件默认是打开的
运行结果:
1)系统重启后能进入低功耗,电流为 7uA左右
2)过上20s左右,系统会退出低功耗,电流为 3mA左右,再也进入不了低功耗
问题:为什么会出现2)
测试2:如果让BLE进入广播模式,系统无法进入低功耗模式,使用原始的广播配置。
问题:为什么这个时候无法进入低功耗?