XWOS API  4.0
XWOS C/C++ API参考手册
载入中...
搜索中...
未找到
电源管理
电源管理 的协作图:

模块

 电源管理阶段
 

类型定义

typedef xwosdl_pm_cb_f xwos_pm_cb_f
 电源管理回调函数指针类型
 

函数

static void xwos_pm_set_cb (xwos_pm_cb_f resume, xwos_pm_cb_f suspend, xwos_pm_cb_f wakeup, xwos_pm_cb_f sleep, void *arg)
 XWOS API:设置电源管理的回调函数
 
static void xwos_pm_suspend (void)
 XWOS API:将系统切换为低功耗状态
 
static void xwos_pm_resume (void)
 XWOS API:唤醒系统
 
static xwsq_t xwos_pm_get_stage (void)
 XWOS API:获取当前电源管理阶段
 

详细描述

技术参考手册: 电源管理

电源管理回调

用户可以通过 xwos_pm_set_cb() 设置电源管理回调函数。 这个CAPI只影响当前运行代码的CPU,如果是多核系统,需要在每个CPU上都调用一次这个CAPI。

系统休眠与唤醒

用户可以通过调用 xwos_pm_suspend() 使得操作系统进入休眠模式。 休眠后可以在唤醒中断中调用 xwos_pm_resume() 唤醒操作系统。

休眠与唤醒是一个比较复杂的过程,可以通过 xwos_pm_get_stage() 获取电源管理 目前所处的 电源管理阶段

C++

C++头文件: xwos/osal/pm.hxx

类型定义说明

◆ xwos_pm_cb_f

typedef xwosdl_pm_cb_f xwos_pm_cb_f

电源管理回调函数指针类型

在文件 pm.h53 行定义.

函数说明

◆ xwos_pm_set_cb()

static void xwos_pm_set_cb ( xwos_pm_cb_f  resume,
xwos_pm_cb_f  suspend,
xwos_pm_cb_f  wakeup,
xwos_pm_cb_f  sleep,
void *  arg 
)
inlinestatic

XWOS API:设置电源管理的回调函数

end of xwos_pm_stage

参数
[in]resume从暂停模式恢复的回调函数
[in]suspend进入暂停模式的回调函数
[in]wakeup唤醒时回调函数
[in]sleep休眠时的回调函数
[in]arg电源管理系统调用回调函数时传递的参数
注解
  • 上下文:任意

在文件 pm.h83 行定义.

88{
89 return xwosdl_pm_set_cb(resume, suspend, wakeup, sleep, arg);
90}

◆ xwos_pm_suspend()

static void xwos_pm_suspend ( void  )
inlinestatic

XWOS API:将系统切换为低功耗状态

注解
  • 上下文:任意

调用此方法后,所有线程都将开始冻结。冻结完成后,系统开始进入低功耗状态。

在文件 pm.h100 行定义.

101{
102 xwosdl_pm_suspend();
103}
这是这个函数的调用关系图:

◆ xwos_pm_resume()

static void xwos_pm_resume ( void  )
inlinestatic

XWOS API:唤醒系统

注解
  • 上下文:中断

只可在唤醒中断中调用。

在文件 pm.h113 行定义.

114{
115 xwosdl_pm_resume();
116}
这是这个函数的调用关系图:

◆ xwos_pm_get_stage()

static xwsq_t xwos_pm_get_stage ( void  )
inlinestatic

XWOS API:获取当前电源管理阶段

返回
电源管理阶段 电源管理阶段
注解
  • 上下文:任意

电源管理是复杂的异步操作,当系统正在进入低功耗、 或从低功耗唤醒时可通过此函数获取进展的阶段。 返回值取值 电源管理阶段

在文件 pm.h129 行定义.

130{
131 return xwosdl_pm_get_stage();
132}
这是这个函数的调用关系图: