CN / EN
文档反馈
感谢关注汇顶文档,期待您的宝贵建议!
感谢您的反馈,祝您愉快!
无匹配项 共计114个匹配页面

PWR驱动API描述

PWR驱动的API主要包括:

表 337 PWR驱动的APIs
API类别 API名称 描述
控制 hal_pwr_set_wakeup_condition() 设置深度休眠的唤醒条件。
hal_pwr_config_timer_wakeup() 配置AON Sleep Timer的唤醒参数。
hal_pwr_config_ext_wakeup() 配置AON GPIO的唤醒参数。
hal_pwr_set_comm_power() 设置BLE Core和BLE Timer的电源状态。
hal_pwr_set_comm_mode() 设置BLE Core和BLE Timer的模式。
hal_pwr_enter_chip_deepsleep() 进入深度休眠。
hal_pwr_get_timer_current_value() 获取当前定时器值。
hal_pwr_disable_ext_wakeup() 禁止指定的AON GPIO唤醒系统
中断处理及回调函数 hal_pwr_sleep_timer_irq_handler() SleepTimer中断处理函数。
hal_pwr_sleep_timer_elapsed_callback() SleepTimer中断回调函数。

下面章节将对各API进行详细描述。

hal_pwr_set_wakeup_condition

表 338 hal_pwr_set_wakeup_condition接口
函数原型

void hal_pwr_set_wakeup_condition(uint32_t condition)

功能说明

设置深度休眠模式下的唤醒条件。

输入参数

condition:唤醒条件,该参数可以是下列值中的任意一个:

  • PWR_WKUP_COND_EXT(AON_GPIO)
  • PWR_WKUP_COND_TIMER(AON Sleep Timer)
  • PWR_WKUP_COND_BLE(BLE Timer)
  • PWR_WKUP_COND_CALENDAR(Calendar Timer)
  • PWR_WKUP_COND_BOD_FEDGE(PMU Bod)
  • PWR_WKUP_COND_MSIO_COMP(Comparator)
  • PWR_WKUP_COND_ALL(所有睡眠唤醒源)
返回值

备注

hal_pwr_config_timer_wakeup

表 339 hal_pwr_config_timer_wakeup接口
函数原型

void hal_pwr_config_timer_wakeup(uint8_t timer_mode, uint32_t load_count)

功能说明

设置深度休眠模式下用于唤醒MCU的AON SLEEP TIMER的计数值。

输入参数

timer_mode: Sleep timer的计数模式,该参数可以是下列值中的任意一个:

  • PWR_SLP_TIMER_MODE_NORMAL(睡眠模式,深度休眠时计数,唤醒后停止计数)
  • PWR_SLP_TIMER_MODE_SINGLE(单次计数,唤醒后继续计数)
  • PWR_SLP_TIMER_MODE_RELOAD(自动加载模式,唤醒后继续计数)
  • PWR_SLP_TIMER_MODE_DISABLE(禁用)

load_count:进入深度休眠后,唤醒MCU的时间计数值,取值范围为0 ~ 0xFFFFFFFFU。

返回值

备注

该API仅在唤醒条件包含AON TIMER时可用。

hal_pwr_config_ext_wakeup

表 340 hal_pwr_config_ext_wakeup接口
函数原型

void hal_pwr_config_ext_wakeup(uint32_t ext_wakeup_pinx, uint32_t ext_wakeup_type)

功能说明

设置深度休眠模式下用于唤醒MCU的AON_GPIO的引脚及唤醒类型。

输入参数

ext_wakeup_pinx:唤醒MCU的AON_GPIO的引脚,该参数可以是下列值的组合:

  • PWR_EXTWKUP_PIN0(AON_GPIO引脚0)
  • PWR_EXTWKUP_PIN1(AON_GPIO引脚1)
  • PWR_EXTWKUP_PIN2(AON_GPIO引脚2)
  • PWR_EXTWKUP_PIN3(AON_GPIO引脚3)
  • PWR_EXTWKUP_PIN4(AON_GPIO引脚4)
  • PWR_EXTWKUP_PIN5(AON_GPIO引脚5)
  • PWR_EXTWKUP_PIN6(AON_GPIO引脚6)
  • PWR_EXTWKUP_PIN7(AON_GPIO引脚7)

ext_wakeup_type:唤醒MCU的AON_GPIO的唤醒类型,该参数可以是下列值中的任意一个:

  • PWR_EXTWKUP_TYPE_LOW(低电平触发)
  • PWR_EXTWKUP_TYPE_HIGH(高电平触发)
  • PWR_EXTWKUP_TYPE_RISING(上升沿触发)
  • PWR_EXTWKUP_TYPE_FALLING(下降沿触发)
返回值

备注

该API仅在唤醒条件包含AON GPIO时可用。

hal_pwr_set_comm_power

表 341 hal_pwr_set_comm_power接口
函数原型

void hal_pwr_set_comm_power(uint32_t timer_power_state, uint32_t core_power_state)

功能说明

设置BLE Core和BLE Timer的电源状态。

输入参数

timer_power_state:BLE Timer的电源状态,该参数可以是下列值中的任意一个:

  • PWR_COMM_TIMER_POWER_DOWN(BLE Timer掉电)
  • PWR_COMM_TIMER_POWER_UP(BLE Timer上电)

core_power_state:BLE Core的电源状态,该参数可以是下列值中的任意一个:

  • PWR_COMM_CORE_POWER_DOWN(BLE Core掉电)
  • PWR_COMM_CORE_POWER_UP(BLE Core上电)
返回值

备注

如果需要使用BLE功能,则需要在MCU启动后设置BLE Core和BLE Timer的电源状态为上电状态。

hal_pwr_set_comm_mode

表 342 hal_pwr_set_comm_mode接口
函数原型

void hal_pwr_set_comm_mode(uint32_t timer_mode, uint32_t core_mode)

功能说明

设置BLE Core和BLE Timer的模式。

输入参数

timer_mode:BLE Timer的模式,该参数可以是下列值中的任意一个:

  • PWR_COMM_TIMER_MODE_RESET(BLE Timer复位)
  • PWR_COMM_TIMER_MODE_RUNNING(BLE Timer运行)

core_mode:BLE Core的模式,该参数可以是下列值中的任意一个

  • PWR_COMM_CORE_MODE_RESET(BLE Core复位)
  • PWR_COMM_CORE_MODE_RUNNING(BLE Core运行)
返回值

备注

如果需要使用BLE功能,则需要在BLE Core和BLE Timer上电后设置其为运行模式。

hal_pwr_enter_chip_deepsleep

表 343 hal_pwr_enter_chip_deepsleep接口
函数原型

void hal_pwr_enter_chip_deepsleep(void)

功能说明

设置MCU进入深度休眠模式,并设置深度休眠模式下需要保持的内存块及唤醒后需要满电的内存块。

输入参数

返回值

备注

hal_pwr_get_timer_current_value

表 344 hal_pwr_get_timer_current_value接口
函数原型

hal_status_t hal_pwr_get_timer_current_value(uint32_t timer_type, uint32_t *p_value)

功能说明

获取当前计数器数值。

输入参数

timer_type:计数器类型,该参数可以是下列值中的任意一个:

  • PWR_TIMER_TYPE_CAL_TIMER(CAL Timer)
  • PWR_TIMER_TYPE_AON_WDT(AON_WDT Timer)
  • PWR_TIMER_TYPE_SLP_TIMER(SLEEP Timer)
  • PWR_TIMER_TYPE_CAL_ALARM(CAL Alarm)

P_value:内存指针,该参数由开发者指定

返回值

HAL状态。

备注

该接口可获取当前计数器数值。

hal_pwr_disable_ext_wakeup

表 345 hal_pwr_disable_ext_wakeup接口
函数原型 void hal_pwr_disable_ext_wakeup(uint32_t disable_wakeup_pinx);
功能说明 禁止指定的AON GPIO唤醒系统。
输入参数

disable_wakeup_pinx:特定的AON GPIO pin脚,该参数可以是下列值中的任意一个:

  • PWR_EXTWKUP_PIN0
  • PWR_EXTWKUP_PIN1
  • PWR_EXTWKUP_PIN2
  • PWR_EXTWKUP_PIN3
  • PWR_EXTWKUP_PIN4
  • PWR_EXTWKUP_PIN5
  • PWR_EXTWKUP_PIN6
  • PWR_EXTWKUP_PIN7
  • PWR_EXTWKUP_PIN_ALL
返回值
备注

hal_pwr_sleep_timer_irq_handler

表 346 hal_pwr_sleep_timer_irq_handler接口
函数原型

void hal_pwr_sleep_timer_irq_handler(void)

功能说明

处理PWR Sleep Timer中断请求。

输入参数

返回值

备注

hal_pwr_sleep_timer_elapsed_callback

表 347 hal_pwr_sleep_timer_elapsed_callback接口
函数原型

void hal_pwr_sleep_timer_elapsed_callback(void)

功能说明

Sleep Timer中断回调函数。

输入参数

返回值

备注

该函数为weak类型的空函数,当开发者需要使用该回调函数时,可重写该API。

扫描关注

打开微信,使用“扫一扫”即可关注。