PM3睡眠唤醒的问题
目前使用central的源码修改,想在一开机initial后,就进入PM3的sleep mode,到有SW被按下后才开始工作
1、请问osal_pwrmgr_device( PWRMGR_BATTERY );要写在哪里? 是否能写在启动装置的下面?
if ( events & START_DEVICE_EVT )
{
// Start the Device
VOID GAPCentralRole_StartDevice( (gapCentralRoleCB_t *) &simpleBLERoleCB );
// Register with bond manager after starting device
GAPBondMgr_Register( (gapBondCBs_t *) &simpleBLEBondCB );
osal_pwrmgr_device( PWRMGR_BATTERY );
return ( events ^ START_DEVICE_EVT );
}
2、之后用SW去唤醒时,只要按下SW,PM3就会被唤醒了吗?
3、如果用peripheral,initial开机后也想让它进PM3,被触发后才唤醒工作,osal_pwrmgr_device( PWRMGR_BATTERY );要写在哪里呢?
查了一些数据,我想是这样的
CC2540 or CC2541进入PM3深度休眠的条件
1、osal_timeout = 0; osal_timeout只要用相应的osal_stop_timeEX( task_id, event )终止所有的事件,就可以使得osal_timeout为零。
2、llTimeout = 0; 当没有广播、断开连接可以使得llTImeout为零。