- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
CC2541 进入低功耗程序例程
录入:edatop.com 点击:
CC2541 进入低功耗程序例程
CC2541 进入低功耗程序:
1. 线设 POWER_SAVING,使 pwrmgr_attribute.pwrmgr_device 的值不等于 PWRMGR_ALWAYS_ON
2. 调用 osal_pwrmgr_task_state( uint8 task_id, uint8 state ), state 设置成 PWRMGR_CONSERVE, 就会把相应的 task_id 对应的 pwrmgr_task_state 中那一位设置成0.
这样基本进入低功耗。
程序:
oid osal_pwrmgr_powerconserve( void )
{ uint32 next; halIntState_t intState;
if ( pwrmgr_attribute.pwrmgr_device != PWRMGR_ALWAYS_ON ) //判断是否开启低功耗模式
{
if ( pwrmgr_attribute.pwrmgr_task_state == 0 ) //判断任务的pwrmgr_task_state是否为0
{
HAL_ENTER_CRITICAL_SECTION( intState );
next = osal_next_timeout();
HAL_EXIT_CRITICAL_SECTION( intState );
OSAL_SET_CPU_INTO_SLEEP( next ); //进入低功耗程序
}
}
}
IFG IGKJUVBKVYRDTYFUIGHOI