xt-sdk 文档 v1.0.3
xt-sdk 嵌入式 SDK API 参考
载入中...
搜索中...
未找到
xt_hal_pm.h
浏览该文件的文档.
1
12
13#ifndef __XT_HAL_PM_H__
14#define __XT_HAL_PM_H__
15
16/* ==================== [Includes] ========================================== */
17
18#include "xt_hal_internal.h"
19#include "xt_hal_rtc.h"
20
21#ifdef __cplusplus
22extern "C" {
23#endif
24
31
32/* ==================== [Defines] =========================================== */
33
34#define XT_HAL_PM_INVALID_ID (0xFF)
35
36/* ==================== [Typedefs] ========================================== */
37
45
52typedef void (*xt_hal_pm_cb_t)(uint8_t id, uint32_t event_id);
53
63
73
82
92
107
108/* ==================== [Global Prototypes] ================================= */
109
120
131
138int32_t xt_hal_pm_check(uint8_t mode);
139
155xt_err_t xt_hal_pm_timer_setup(uint8_t timer_id, uint32_t timeout_ms, xt_hal_pm_cb_t cb);
156
167
174bool xt_hal_pm_timer_is_running(uint8_t timer_id);
175
190
198xt_err_t xt_hal_pm_get_last_state(uint8_t *last_state, uint8_t *wake_reason);
199
206
213
220
227
238xt_err_t xt_hal_pm_set_power(uint8_t power_id, uint8_t val);
239
240/* ==================== [Macros] ============================================ */
241 /* xt_hal_pm */
243
244#ifdef __cplusplus
245} /* extern "C" */
246#endif
247
248#endif /* __XT_HAL_PM_H__ */
int32_t xt_err_t
错误码类型
int32_t xt_hal_pm_get_reset_reason(void)
获取重启原因,等同于获取开机原因
xt_hal_pm_wake_reason_detail
唤醒原因详细枚举
xt_err_t xt_hal_pm_set_power(uint8_t power_id, uint8_t val)
控制内部电源域开关
xt_hal_pm_event_id
PM 事件ID枚举
int32_t xt_hal_pm_get_wake_reason(void)
获取开机原因
xt_hal_pm_mode
工作模式枚举
void(* xt_hal_pm_cb_t)(uint8_t id, uint32_t event_id)
PM 回调函数类型定义
int32_t xt_hal_pm_check(uint8_t mode)
检查是否可以进入指定低功耗模式
xt_err_t xt_hal_pm_timer_close(uint8_t timer_id)
关闭定时唤醒
xt_err_t xt_hal_pm_timer_get_remaining(uint8_t timer_id, xt_hal_rtc_timestamp_t *remaining_time_ms)
获取定时器剩余时间
xt_err_t xt_hal_pm_request(uint8_t mode)
请求进入指定功耗模式
xt_hal_pm_power_on_reason
xt_err_t xt_hal_pm_force(uint8_t mode)
强制进入指定功耗模式
xt_err_t xt_hal_pm_get_last_state(uint8_t *last_state, uint8_t *wake_reason)
唤醒原因,用于判断是从开机是否是由休眠状态下开机/唤醒
xt_err_t xt_hal_pm_timer_setup(uint8_t timer_id, uint32_t timeout_ms, xt_hal_pm_cb_t cb)
设置定时唤醒
bool xt_hal_pm_timer_is_running(uint8_t timer_id)
检查定时器是否运行
xt_hal_pm_last_state
上次状态枚举
xt_err_t xt_hal_pm_poweroff(void)
系统关机
xt_hal_pm_wake_reason
唤醒原因枚举
xt_err_t xt_hal_pm_reset(void)
系统复位
@ XT_HAL_PM_WAKE_REASON_DETAIL_WAKEUP_RTC
@ XT_HAL_PM_WAKE_REASON_DETAIL_RTC
@ XT_HAL_PM_WAKE_REASON_DETAIL_RESET
@ XT_HAL_PM_WAKE_REASON_DETAIL_WAKEUP
@ XT_HAL_PM_EVENT_TIMER
@ XT_HAL_PM_EVENT_WAKEUP
@ XT_HAL_PM_MODE_MAX
@ XT_HAL_PM_MODE_PSM
@ XT_HAL_PM_MODE_WORK
@ XT_HAL_PM_MODE_SLEEP
@ XT_HAL_PM_POWER_ON_WDT
@ XT_HAL_PM_POWER_ON_CHARGING
@ XT_HAL_PM_POWER_ON_STANDBY
@ XT_HAL_PM_POWER_ON_NORMAL
@ XT_HAL_PM_POWER_ON_EXCEPTRESET
@ XT_HAL_PM_POWER_ON_RESET
@ XT_HAL_PM_POWER_ON_INVALID
@ XT_HAL_PM_POWER_ON_UNKNOWN
@ XT_HAL_PM_POWER_ON_ALRAM
@ XT_HAL_PM_POWER_ON_FOTA
@ XT_HAL_PM_POWER_ON_RTC
@ XT_HAL_PM_POWER_ON_SW_RESET
@ XT_HAL_PM_LAST_STATE_DEEP_SLEEP
@ XT_HAL_PM_LAST_STATE_RESET
@ XT_HAL_PM_LAST_STATE_STANDBY
@ XT_HAL_PM_WAKE_REASON_KEY_WAKEUP
@ XT_HAL_PM_WAKE_REASON_RTC
@ XT_HAL_PM_WAKE_REASON_RESET
@ XT_HAL_PM_WAKE_REASON_WAKEUP
uint32_t xt_hal_rtc_timestamp_t
RTC 时间戳类型
XTINY HAL 内部公共头文件
RTC 接口