CI13LC SDK API手册  2.1.1
本手册用于描述CI13LC SDK各个组件和驱动API
枚举 | 函数
ci13lc_dpmu.h 文件参考
#include "ci_system.h"
#include "ci_scu.h"

浏览源代码.

枚举

enum  Dpmu_Lowpower_Mode_t {
  DPMU_LOWPOWER_NO_MODE = 0,
  DPMU_LOWPOWER_SLEEP_MODE = 1,
  DPMU_LOWPOWER_DEEP_SLEEP_MODE = 2,
  DPMU_LOWPOWER_BOTH_MODE = 3
}
 
enum  Dpmu_Wakeup_Reset_Cfg_t {
  DPMU_WAKEUP_RESET_GPIO2 = 0,
  DPMU_WAKEUP_RESET_IWDG = 1,
  DPMU_WAKEUP_RESET_EFUSE = 2,
  DPMU_WAKEUP_RESET_TIMER_PWM = 3,
  DPMU_WAKEUP_RESET_IO_REG = 4,
  DPMU_WAKEUP_RESET_PMU_RC = 5
}
 系统退出低功耗进入系统复位流程时是否复位 更多...
 
enum  Dpmu_Wakeup_SRC_t {
  DPMU_WAKEUP_SRC_V11_OK = 2,
  DPMU_WAKEUP_SRC_VDT = 3,
  DPMU_WAKEUP_SRC_IWDG = 6,
  DPMU_WAKEUP_SRC_GPIO2 = 7
}
 唤醒源 更多...
 
enum  Dpmu_Io_Pull_t {
  DPMU_IO_PULL_DISABLE = 0,
  DPMU_IO_PULL_UP = 1,
  DPMU_IO_PULL_DOWN = 2
}
 IO上下拉选择 更多...
 
enum  Dpmu_Io_Direction_t {
  DPMU_IO_DIRECTION_INPUT = 0,
  DPMU_IO_DIRECTION_OUTPUT = 1
}
 IO方向选择 更多...
 
enum  Dpmu_Xtal_Mode_t {
  DPMU_XTAL_EN = 10,
  DPMU_XTAL_BYP = 9,
  DPMU_XTAL_RF_EN = 8
}
 晶振功能配置选项 更多...
 
enum  Dpmu_Io_Schmitt_Trigger_t {
  DPMU_IO_SCHMITT_TRIGGER_DISABLE = 0,
  DPMU_IO_SCHMITT_TRIGGER_ENABLE = 1
}
 IO触发器选择 更多...
 
enum  Dpmu_Io_Slew_Rate_t {
  DPMU_IO_SLEW_RATE_SLOW = 0,
  DPMU_IO_SLEW_RATE_FAST = 1
}
 IO电压转换率模式 更多...
 
enum  Dpmu_Io_Driver_Strength_t {
  DPMU_IO_DRIVER_STRENGTH_0 = 0,
  DPMU_IO_DRIVER_STRENGTH_1 = 1,
  DPMU_IO_DRIVER_STRENGTH_2 = 2,
  DPMU_IO_DRIVER_STRENGTH_3 = 3
}
 IO驱动强度(数字越大,驱动能力越强) 更多...
 
enum  Dpmu_Src_Source_Sel_t {
  DPMU_SRC_USE_SYSTEM_DEFAULT = 0,
  DPMU_SRC_USE_INNER_RC = 1,
  DPMU_SRC_USE_SYSTEM_DEFAULT_ELSE = 2,
  DPMU_SRC_USE_OUTSIDE_OSC = 3
}
 SRC时钟源选择 更多...
 
enum  Dpmu_Sys_Clk_Sel_t {
  DPMU_SYS_CLK_SRC = 0,
  DPMU_SYS_CLK_PLL = 1
}
 系统工作时钟选择 更多...
 
enum  Dpmu_Update_En_t {
  DPMU_UPDATE_EN_LDO1 = 0,
  DPMU_UPDATE_EN_LDO3 = 2,
  DPMU_UPDATE_EN_VDT = 3,
  DPMU_UPDATE_EN_TRIM = 4
}
 PMU配置update的更新项 更多...
 
enum  Dpmu_Test_Clk_Sel_t {
  DPMU_TEST_CLK_EXT_OSC = 0,
  DPMU_TEST_CLK_INTER_RC = 1,
  DPMU_TEST_CLK_PLL = 2
}
 测试时钟选择 更多...
 
enum  Dpmu_Iwdg_Clk_Sel_t {
  DPMU_IWDG_CLK_EXT_OSC = 1,
  DPMU_IWDG_CLK_INTER_RC = 0
}
 IWDG时钟选择 更多...
 
enum  Dpmu_LDO1_Lv_t {
  DPMU_LDO1_LV_2_75V = 0,
  DPMU_LDO1_LV_2_8V = 1,
  DPMU_LDO1_LV_2_85V = 2,
  DPMU_LDO1_LV_2_9V = 3,
  DPMU_LDO1_LV_2_95V = 4,
  DPMU_LDO1_LV_3_0V = 5,
  DPMU_LDO1_LV_3_05V = 6,
  DPMU_LDO1_LV_3_1V = 7,
  DPMU_LDO1_LV_3_15V = 8,
  DPMU_LDO1_LV_3_2V = 9,
  DPMU_LDO1_LV_3_25V = 10,
  DPMU_LDO1_LV_3_3V = 11,
  DPMU_LDO1_LV_3_35V = 12,
  DPMU_LDO1_LV_3_4V = 13,
  DPMU_LDO1_LV_3_45V = 14,
  DPMU_LDO1_LV_3_5V = 15
}
 LDO1的电压选择(配置值为0 ~ 15) 更多...
 
enum  Dpmu_LDO3_Lv_t {
  DPMU_LDO3_LV_0_85V = 0,
  DPMU_LDO3_LV_0_875V = 1,
  DPMU_LDO3_LV_0_9V = 2,
  DPMU_LDO3_LV_0_925V = 3,
  DPMU_LDO3_LV_0_95V = 4,
  DPMU_LDO3_LV_0_975V = 5,
  DPMU_LDO3_LV_1_0V = 6,
  DPMU_LDO3_LV_1_025V = 7,
  DPMU_LDO3_LV_1_05V = 8,
  DPMU_LDO3_LV_1_075V = 9,
  DPMU_LDO3_LV_1_1V = 10,
  DPMU_LDO3_LV_1_125V = 11,
  DPMU_LDO3_LV_1_15V = 12,
  DPMU_LDO3_LV_1_175 = 13,
  DPMU_LDO3_LV_1_2V = 14,
  DPMU_LDO3_LV_1_225V = 15
}
 LDO3的电压选择(配置值为0 ~ 15) 更多...
 

函数

void dpmu_unlock_cfg_config (void)
 解锁dpmu配置寄存器 更多...
 
void dpmu_lock_cfg_config (void)
 锁定dpmu配置寄存器 更多...
 
void dpmu_set_io_reuse (PinPad_Name pin, IOResue_FUNCTION io_function)
 配置管脚复用对应功能 更多...
 
void dpmu_set_adio_reuse (PinPad_Name pin, ADIOResue_MODE adio_mode)
 配置管脚数字模拟功能 更多...
 
void dpmu_set_io_open_drain (PinPad_Name pin, FunctionalState cmd)
 配置管脚开漏功能(例如IIC需要引脚配置成此功能) 更多...
 
void dpmu_set_io_pull (PinPad_Name pin, Dpmu_Io_Pull_t pull)
 配置管脚上下拉功能 更多...
 
void dpmu_set_io_direction (PinPad_Name pin, Dpmu_Io_Direction_t dir)
 配置管脚方向 更多...
 
void dpmu_set_io_slew_rate (PinPad_Name pin, Dpmu_Io_Slew_Rate_t slew_rate)
 配置管脚电压转换率模式 更多...
 
void dpmu_set_io_schmitt_trigger (PinPad_Name pin, Dpmu_Io_Schmitt_Trigger_t schmitt_trigger)
 配置管脚触发器模式 更多...
 
void dpmu_set_io_driver_strength (PinPad_Name pin, Dpmu_Io_Driver_Strength_t driver_strength)
 配置管脚驱动强度 更多...
 
void dpmu_osc_pad_for_gpio (FunctionalState en)
 配置晶振脚PA0、PA1功能选择(晶振/GPIO) 更多...
 
void dpmu_test_clk_sel (Dpmu_Test_Clk_Sel_t src)
 测试时钟来源选择,可通过PAD查看 更多...
 
void dpmu_iwdg_clk_sel (Dpmu_Iwdg_Clk_Sel_t src)
 IWDG时钟来源选择 更多...
 
void dpmu_iwdg_reset_none_config (void)
 IWDG模块检测到系统喂狗异常时的复位范围:无复位操作 更多...
 
void dpmu_iwdg_reset_system_config (void)
 IWDG模块检测到系统喂狗异常时的复位范围:复位全系统 更多...
 
void dpmu_iwdg_reset_bus_config (void)
 IWDG模块检测到系统喂狗异常时的复位范围:复位系统总线 更多...
 
void dpmu_software_reset_none_config (void)
 软件无复位操作 更多...
 
void dpmu_software_reset_system_config (void)
 软件复位全系统 更多...
 
void dpmu_software_reset_bus_config (void)
 软件复位系统总线 更多...
 
void dpmu_core_reset_none_config ()
 cpu内核发出复位请求时的复位范围:无复位操作 更多...
 
void dpmu_core_reset_system_config ()
 cpu内核发出复位请求时的复位范围:复位CPU内核 更多...
 
void dpmu_core_reset_bus_config ()
 cpu内核发出复位请求时的复位范围:复位系统总线 更多...
 
void dpmu_set_ext_filter_config (Ext_Num num, FunctionalState flag, uint32_t param)
 设置pad输入信号(外部事件)滤波 更多...
 
void dpmu_set_iwdg_halt ()
 设置iwatchdog计数和复位受到CPU HALTED信号控制 更多...
 
void dpmu_clean_iwdg_halt ()
 设置watchdog计数和复位不受CPU HALTED信号控制 更多...
 
void dpmu_set_src_source (Dpmu_Src_Source_Sel_t sel)
 选择SRC时钟的来源 更多...
 
void dpmu_ldo3_en (bool en)
 LDO3输出开关 更多...
 
void dpmu_ldo1_lv_set (uint8_t lv)
 LDO1输出电压调整 更多...
 
void dpmu_ldo3_lv_set (uint8_t lv)
 LDO3输出电压调整 更多...
 
void dpmu_enter_lowpower_ldo3_en (bool en)
 进入低功耗后LDO3输出开关 更多...
 
void dpmu_enter_lowpower_ldo1_lv (uint8_t lv)
 进入低功耗后LDO1输出电压调整 更多...
 
void dpmu_enter_lowpower_ldo3_lv (uint8_t lv)
 进入低功耗后LDO3输出电压调整 更多...
 
void dpmu_exit_lowpower_ldo3_en (bool en)
 退出低功耗后LDO3输出开关 更多...
 
void dpmu_exit_lowpower_ldo1_lv (uint8_t lv)
 退出低功耗后LDO1输出电压调整 更多...
 
void dpmu_exit_lowpower_ldo3_lv (uint8_t lv)
 退出低功耗后LDO3输出电压调整 更多...
 
void dpmu_set_pmu_update_en (Dpmu_Update_En_t num)
 PMU update en配置 更多...
 
void dpmu_set_ldo_mask (bool en)
 LDO的中断mask 更多...
 
void dpmu_set_rc_trim_c_value (uint8_t val)
 RC trim时粗调值设置 更多...
 
void dpmu_set_rc_trim_f_value (uint8_t val)
 RC trim时精调值设置 更多...
 
void dpmu_set_rc_en (bool en)
 RC 使能设置 更多...
 
void dpmu_set_rc_update_cfg (void)
 RC配置寄存器更新 更多...
 
void dpmu_pll_config (uint32_t in_clk, uint32_t out_clk)
 配置系统主频 更多...
 
uint32_t dpmu_get_pll_frequency ()
 获取系统主频 更多...
 
void dpmu_set_vdt_mask (bool en)
 设置VDT中断屏蔽 更多...
 
void dpmu_osc_pad_cfg_fma (uint8_t num)
 晶振IO频率和驱动能力选择 更多...
 
void dpmu_osc_pad_cfg_en (Dpmu_Xtal_Mode_t mode, FunctionalState cmd)
 晶振功能配置 更多...
 
void dpmu_sys_clk_sel_cfg (Dpmu_Sys_Clk_Sel_t sel)
 选择系统工作时钟 更多...
 
void dpmu_use_rc (void)
 设置使用SRC时钟作为系统时钟 更多...
 
int32_t dpmu_set_div_parameter (uint32_t device_base, uint32_t div_num)
 设置外设时钟分频 更多...
 
void dpmu_set_low_power_mode (Dpmu_Lowpower_Mode_t mode)
 
void dpmu_wakeup_reset_cfg (Dpmu_Wakeup_Reset_Cfg_t model, FunctionalState flag)
 系统退出低功耗进入系统复位流程时是否复位模块 更多...
 
void dpmu_set_wakeup_int (Dpmu_Wakeup_SRC_t wake_int_num, FunctionalState flag)
 低功耗唤醒源使能 更多...
 
uint32_t dpmu_get_wakeup_state (void)
 获取唤醒状态 更多...
 

枚举类型说明

◆ Dpmu_Lowpower_Mode_t

枚举值
DPMU_LOWPOWER_NO_MODE 
DPMU_LOWPOWER_SLEEP_MODE 
DPMU_LOWPOWER_DEEP_SLEEP_MODE 
DPMU_LOWPOWER_BOTH_MODE 

◆ Dpmu_Wakeup_Reset_Cfg_t

系统退出低功耗进入系统复位流程时是否复位

枚举值
DPMU_WAKEUP_RESET_GPIO2 
DPMU_WAKEUP_RESET_IWDG 
DPMU_WAKEUP_RESET_EFUSE 
DPMU_WAKEUP_RESET_TIMER_PWM 
DPMU_WAKEUP_RESET_IO_REG 
DPMU_WAKEUP_RESET_PMU_RC 

◆ Dpmu_Wakeup_SRC_t

唤醒源

枚举值
DPMU_WAKEUP_SRC_V11_OK 
DPMU_WAKEUP_SRC_VDT 
DPMU_WAKEUP_SRC_IWDG 
DPMU_WAKEUP_SRC_GPIO2 

函数说明

◆ dpmu_get_wakeup_state()

uint32_t dpmu_get_wakeup_state ( void  )

获取唤醒状态

返回
state: 唤醒状态寄存器值

◆ dpmu_set_low_power_mode()

void dpmu_set_low_power_mode ( Dpmu_Lowpower_Mode_t  mode)

◆ dpmu_set_wakeup_int()

void dpmu_set_wakeup_int ( Dpmu_Wakeup_SRC_t  wake_int_num,
FunctionalState  flag 
)

低功耗唤醒源使能

参数
wake_int_num,唤醒源共8组,可配置 0 ~ 7
flag,ENABLE,使能。DISABLE,不使能

◆ dpmu_wakeup_reset_cfg()

void dpmu_wakeup_reset_cfg ( Dpmu_Wakeup_Reset_Cfg_t  model,
FunctionalState  flag 
)

系统退出低功耗进入系统复位流程时是否复位模块

参数
model,复位的模块
flag,ENABLE,复位。DISABLE,不复位