问一下,在官方的BLE协议栈simpleBLEPeripheral程序怎么设置系统一运行就进入PM3睡眠模式,通过按键中断跳出睡眠模式并发出广播蓝牙信号,若蓝牙在一定时间内没有连接后,又进入PM3睡眠模式?求高人指点
wen sun2:
打开编译选项的“POWER_SAVING”,协议栈会自己检测当前的情况,并进入PM2或者PM3。
有按键的时候,会自动唤醒。
rongzhi yu:
回复 wen sun2:
我定义了“POWER_SAVING”,但是我一运行协议栈程序,它自动进入发送广播状态。而且我调试时,发现程序直接跳过osal_pwrmgr_powerconserve( )函数中的 if ( pwrmgr_attribute.pwrmgr_task_state == 0 )判断
user4672714:
回复 rongzhi yu:
调试的时候最好把编译优化等级关闭。
Butterfly:
回复 user4672714:
可以参考KeyFob例程,通过按键来控制广播,keyfobapp_HandleKeys函数对HAL_KEY_SW_2的处理