zigbee 电源管理1

http://blog.sina.com.cn/s/blog_50ca58930100ctu1.html


9.电源管理API

9.1概述

这个部分阐述了OSAL的电源管理系统。系统提为应用或者任务提供了通知OSAL的方式,包括何时可以安全关闭,接收设备和其他设备,以及何时将处理器处于睡眠模式。

 

有两类控制电源管理的函数。第一个,osal_pwrmgr_device(),设置设备级别模式(节点或不节点)。其次是osal_pwrmgr_task_state( PWRMGR_HOLD ),每个任务可以通过调用它函数hold off the power manager,如果一个任务“Holds” the power manager 后就需要调用osal_pwrmgr_task_state( PWRMGR_CONSERVE )允许电源管理来保存电源管理模式。

 

默认当任务建立时,每个任务的电源管理状态被设置成PWRMGR_CONSERVE。如果任务不想实行断电保护(没有变化),不需要调用 osal_pwrmgr_task_state().电源管理将在进入电源保护状态之前察看设备模式和所有任务共有的电源状态。

 

9.2 osal_pwrmgr_device()

概述:

         函数在上电或电源需求变更时调用(例如电源支持协调器)。这一函数设置了大体的设备电源管理的开/关状态。该函数应当从中央控制实体(如ZDO)被调用。

原型:

         void osal_pwrmgr_state( byte pwrmgr_device );

参数:

    pwrmgr_device :更改或设置节电模式

         PWRMGR_ALWAYS_ON                                   无节电

PWRMGR_BATTERY                                         开节电

返回值:

         无

 

9.3 osal_pwrmgr_task_state()

概述:

         任务调用这个函数决定是否让OSAL保存电源状态。默认当任务创建时,它自己的电源状态设置成保存,如果任务总是想保存电源状态,就不需要调用这个函数。

原型:

         byte osal_pwrmgr_task_state( byte task_id, byte state );

参数:

    State – 变更的电源状态

    PWRMGR_CONSERVE                              打开节电,初始化默认

PWRMGR_HOLD                                       关闭节电

返回值:

         ZSUCCESS                                                    成功

INVALID_TASK                                          无效任务ID

 

你可能感兴趣的:(zigbee 电源管理1)