码迷,mamicode.com
首页 > 其他好文 > 详细

CC2541 低功耗

时间:2015-07-27 13:11:29      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:cc2541   低功耗   

void osal_pwrmgr_powerconserve( void )
{   uint32 next;   halIntState_t intState;

     if ( pwrmgr_attribute.pwrmgr_device != PWRMGR_ALWAYS_ON ) //判断是否开启低功耗模式
     {   

           if ( pwrmgr_attribute.pwrmgr_task_state == 0 )   //判断任务的 <span style="font-family: Arial, Helvetica, sans-serif;">pwrmgr_task_state 是否为 0</span>
           {    

                 HAL_ENTER_CRITICAL_SECTION( intState );

                 next = osal_next_timeout();

                 HAL_EXIT_CRITICAL_SECTION( intState );

                 OSAL_SET_CPU_INTO_SLEEP( next ); //进入低功耗程序  
            }  
      }
}
以上是 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.

这样基本进入低功耗。




版权声明:本文为博主原创文章,未经博主允许不得转载。

CC2541 低功耗

标签:cc2541   低功耗   

原文地址:http://blog.csdn.net/haozi0_0/article/details/47083095

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!