CI130X SDK API手册  2.2.0
本手册用于描述CI130X SDK各个组件和驱动API
结构体 | 宏定义 | 枚举 | 函数

CI130X芯片scu驱动 更多...

结构体

struct  IIS_Src_Config_t
 IIS 时钟源 SRC配置结构体 更多...
 
struct  IIS_Mclk_Config_t
 IIS MCLK配置结构体 更多...
 
struct  IIS_Clk_ConfigTypedef
 IIS 时钟配置结构体 更多...
 

宏定义

#define MAIN_FREQUENCY   200000000
 
#define SRC_FREQUENCY_NORMAL   12288000U
 

枚举

enum  Nmi_Irq_t {
  NMI_IRQ_IWGD = 0x1,
  NMI_IRQ_WWGD = 0x2,
  NMI_IRQ_EXT0 = 0x3,
  NMI_IRQ_EXT1 = 0x4,
  NMI_IRQ_TIMER0 = 0x5,
  NMI_IRQ_TIMER1 = 0x6,
  NMI_IRQ_UART0 = 0x7,
  NMI_IRQ_UART1 = 0x8,
  NMI_IRQ_UART2 = 0x9,
  NMI_IRQ_PA = 0xA,
  NMI_IRQ_PB = 0xB,
  NMI_IRQ_PC = 0xC,
  NMI_IRQ_VDT = 0xC,
  NMI_IRQ_V11_OK = 0xE,
  NMI_IRQ_ADC = 0xF
}
 nmi中断选择 更多...
 
enum  Sys_Clk_Gate_t {
  SLEEPING_GATE = 0,
  SLEEPDEEP_GATE = 1,
  CPU_CORECLK_GATE = 2,
  STCLK_GATE = 3,
  SRAM0_GATE = 4,
  SRAM1_GATE = 5,
  SRAM2_GATE = 6,
  SRAM3_GATE = 7,
  SRAM4_GATE = 8,
  SRAM5_GATE = 9,
  SRAM6_GATE = 10,
  ROM_GATE = 11
}
 系统时钟选择 更多...
 
enum  IOResue_FUNCTION {
  FIRST_FUNCTION = 0,
  SECOND_FUNCTION = 1,
  THIRD_FUNCTION = 2,
  FORTH_FUNCTION = 3,
  FIFTH_FUNCTION = 4,
  SIXTH_FUNCTION = 5
}
 IO复用功能选择 更多...
 
enum  ADIOResue_MODE {
  DIGITAL_MODE = 0,
  ANALOG_MODE = 1
}
 IO模拟数字功能选择 更多...
 
enum  PinPad_Name {
  PA0 = 0,
  PA1 = 1,
  BOOT_SEL_0_PAD = 2,
  SPI0_CS_PAD = 3,
  SPI0_D1_PAD = 4,
  SPI0_D2_PAD = 5,
  PA2 = 6,
  PA3 = 7,
  PA4 = 8,
  PA5 = 9,
  PA6 = 10,
  PA7 = 11,
  PB0 = 12,
  PB1 = 13,
  PB2 = 14,
  PB3 = 15,
  PB4 = 16,
  PB5 = 17,
  PB6 = 18,
  PB7 = 19,
  PC0 = 20,
  KEY_RSTN_PAD = 21,
  TEST_EN_PAD = 22,
  SPI0_D0_PAD = 23,
  SPI0_CLK_PAD = 24,
  SPI0_D3_PAD = 25,
  PC1 = 26,
  PC2 = 27,
  PC3 = 28,
  PC4 = 29,
  PC5 = 30,
  PD0 = 31,
  PD1 = 32,
  PD2 = 33,
  PD3 = 34,
  PD4 = 35,
  PD5 = 36
}
 IO复用列表,左至右依次为第1功能 ~ 第6功能,用"---"表示无第几复用功能 更多...
 
enum  IISNumx {
  IISNum0 = 0,
  IISNum1_RX = 1,
  IISNum1_TX = 2,
  IISNum2 = 3
}
 IIS号选择 更多...
 
enum  IIS_Mode_Sel_t {
  IIS_SLAVE = 1,
  IIS_MASTER = 0
}
 IIS主从模式选择 更多...
 
enum  IIS_Mclk_Mode_t {
  IIS_MCLK_MODENULL = 0,
  IIS_MCLK_IN = 1,
  IIS_MCLK_OUT = 2
}
 IIS MCLK 输入/输出 更多...
 
enum  IIS_SckLrck_Mode_t {
  IIS_SCKLRCK_MODENULL = 0,
  IIS_SCKLRCK_IN = 1,
  IIS_SCKLRCK_OUT = 2
}
 IIS SCK和LRCK 输入/输出 更多...
 
enum  DmaInt_Sel_t {
  DMAINT_SEL_CHANNEL0 = 0,
  DMAINT_SEL_CHANNEL1 = 1,
  DMAINT_SEL_CHANNELALL = 2
}
 DMA 中断 channel 选择 更多...
 
enum  Dtr_Clk_Sel_t {
  DTR_CLK_SEL_SRC_CLK = 0,
  DTR_CLK_SEL_PLL_CLK = 1
}
 DTRFLASH时钟来源选择 更多...
 
enum  IIS_Src_Source_t {
  IIS_SRC_SOURCE_IPCORE = 0,
  IIS_SRC_SOURCE_EXT_OSC = 1,
  IIS_SRC_SOURCE_INTER_RC = 2,
  IIS_SRC_SOURCE_PAD_IN = 3
}
 MCLK 时钟源SRC的 来源选择 更多...
 
enum  IIS_Mclk_Fs_t {
  IIS_MCLK_FS_128 = 0,
  IIS_MCLK_FS_192 = 1,
  IIS_MCLK_FS_256 = 2,
  IIS_MCLK_FS_384 = 3
}
 IIS MCLK 过采样率选择 更多...
 
enum  IIS_Sck_Lrck_Wid_t {
  IIS_SCK_LRCK_WID_32 = 0,
  IIS_SCK_LRCK_WID_64 = 1
}
 IIS SCK和LRCK的频率关系比值 更多...
 
enum  IIS_Mclk_Source_t {
  IIS_MCLK_SOURCE_SRC0 = 0,
  IIS_MCLK_SOURCE_SRC1 = 1,
  IIS_MCLK_SOURCE_SRC2 = 2,
  IIS_MCLK_SOURCE_PAD_IN = 3
}
 MCLK 时钟来源选择 更多...
 
enum  IIS_Mclk_t {
  IIS_MCLK_MCLK0 = 0,
  IIS_MCLK_MCLK1 = 1,
  IIS_MCLK_MCLK2 = 2
}
 MCLK 选择 更多...
 
enum  IIS_Clk_Source_t {
  IIS_CLK_SOURCE_MCLK0 = 0,
  IIS_CLK_SOURCE_MCLK1 = 1,
  IIS_CLK_SOURCE_MCLK2 = 2,
  IIS_CLK_SOURCE_PAD_IN = 3,
  IIS_CLK_SOURCE_CODEC_AD = 4,
  IIS_CLK_SOURCE_CODEC_DA = 5,
  IIS_CLK_SOURCE_PDM = 6
}
 IIS SCK/LRCK输出来源 更多...
 
enum  Codec_Dac_Data_Sel_t {
  CODEC_DAC_DATA_FROM_IIS1_TX = 0,
  CODEC_DAC_DATA_FROM_PAD_IN = 1,
  CODEC_DAC_DATA_FROM_CODEC_ADC = 2,
  CODEC_DAC_DATA_FROM_PDM = 3
}
 codec dac 输出数据来源选择 更多...
 
enum  Pad_IIS_Data_Sel_t {
  PAD_IIS_DATA_FROM_IIS0_TX = 0,
  PAD_IIS_DATA_FROM_IIS1_TX = 1,
  PAD_IIS_DATA_FROM_CODEC_ADC = 2,
  PAD_IIS_DATA_FROM_PDM = 3
}
 IIS pad sdo输出数据来源选择 更多...
 
enum  IIS_Clk_Mode_t {
  IIS_CLK_MODE_OUTPUT = 0,
  IIS_CLK_MODE_INPUT = 1
}
 IIS 输入输出选择 更多...
 
enum  Codec_Channel_t {
  CODEC_CHANNEL_AD = 0,
  CODEC_CHANNEL_DA = 1
}
 CODEC AD/DA 选择 更多...
 

函数

void scu_unlock_system_config (void)
 解锁系统控制寄存器 更多...
 
void scu_unlock_reset_config (void)
 解锁复位相关寄存器 更多...
 
void scu_unlock_clk_config (void)
 解锁时钟相关寄存器 更多...
 
void scu_lock_system_config (void)
 锁定系统控制寄存器 更多...
 
void scu_lock_clk_config (void)
 锁定时钟相关寄存器 更多...
 
void scu_lock_reset_config (void)
 锁定复位寄存器 更多...
 
int32_t scu_set_device_gate (uint32_t device_base, int32_t gate)
 设置外设时钟开关 更多...
 
int32_t scu_set_device_reset (uint32_t device_base)
 配置外设复位 更多...
 
int32_t scu_set_device_reset_release (uint32_t device_base)
 配置外设复位释放 更多...
 
int32_t scu_get_system_reset_state (void)
 获取系统复位状态 更多...
 
int32_t scu_set_ext_wakeup_int (Ext_Num num, FunctionalState cmd)
 设置外部事件中断唤醒 更多...
 
int32_t scu_clear_ext_int_state (Ext_Num num)
 清除外部事件中断唤醒状态 更多...
 
void scu_set_ext_filter_config (Ext_Num num, FunctionalState cmd, uint32_t param)
 设置pad输入信号(外部事件)滤波 更多...
 
int8_t scu_para_en_disable (uint32_t device_base)
 配置外设分频参数之前需将CLK_DIV_PARAM_EN_CFG寄存器相应位置0 更多...
 
int8_t scu_para_en_enable (uint32_t device_base)
 配置外设分频参数之后需将CLK_DIV_PARAM_EN_CFG寄存器相应位置1 更多...
 
int32_t scu_set_div_parameter (uint32_t device_base, uint32_t div_num)
 设置外设时钟分频 更多...
 
void scu_spiflash_no_boot_set (void)
 配置QSPI0 非boot 模式 更多...
 
void scu_run_in_flash (void)
 设置程序在FLASH中运行 更多...
 
void scu_run_not_in_flash (void)
 设置程序不在FLASH中运行 更多...
 
void scu_set_dma_mode (DmaInt_Sel_t channel)
 设置 DMA chanel 中断开启 更多...
 
void scu_sel_dtrflash_clk (Dtr_Clk_Sel_t clk)
 设置DTR控制器时钟来源 更多...
 
void scu_wait_pll_lock_state ()
 等待 PLL 处于 LOCK 状态 更多...
 
void scu_iis_src_config (IIS_Src_Config_t *config, IIS_Mclk_Source_t src)
 设置IIS MCLK 时钟来源 SRC 时钟(0、1、2)的分频 更多...
 
void scu_iis_mclk_Config (IIS_Mclk_Config_t *config)
 设置IIS MCLK(0、1、2) 时钟参数 更多...
 
void scu_iis_pad_mclk_config (IIS_Mclk_Source_t src, IIS_Clk_Mode_t mode)
 设置IIS PAD MCLK时钟参数 更多...
 
void scu_iis_codec_mclk_config (Codec_Channel_t channel, IIS_Mclk_Source_t src)
 设置CODEC MCLK 时钟参数 更多...
 
void scu_iis_pdm_mclk_config (IIS_Mclk_Source_t src)
 设置 PDM MCLK 时钟参数 更多...
 
void scu_iis_clk_config (IISNumx device, IIS_Clk_Source_t clk_source)
 设置IIS(0、1、2)时钟参数 更多...
 
void scu_iis_pad_clk_config (IIS_Clk_Source_t clk_source, IIS_Clk_Mode_t mode)
 设置 IIS PAD CLK 时钟参数 更多...
 
void scu_iis_codec_dac_data_config (Codec_Dac_Data_Sel_t src)
 设置 codec dac IIS 输出数据来源 更多...
 
void scu_iis_pad_data_config (Pad_IIS_Data_Sel_t src)
 设置 pad IIS输出数据来源选择 更多...
 
void iis_clk_config (IIS_Clk_ConfigTypedef *config)
 IIS时钟配置。 master模式时,配置iis的sck和lrck来源,codec和pdm的mclk来源,iis pad输出的mclk和sck lrck来源。 slave模式时,iis时钟从外部输入,配置iis pad为输入模式 更多...
 
void scu_rc_trim_en (bool en)
 RC trim使能 更多...
 
void scu_rc_trim_state_clear (void)
 清除RC trim的状态 更多...
 
uint8_t scu_get_rc_trim_state (void)
 获取RC trim状态设置 更多...
 
uint8_t scu_get_rc_trim_c_value (void)
 获取RC trim的粗调值 更多...
 
uint8_t scu_get_rc_trim_f_value (void)
 获取RC trim的细调值 更多...
 
void scu_set_wwdg_halt ()
 设置watchdog计数和复位受到CPU HALTED信号控制 更多...
 
void scu_clean_wwdg_halt ()
 设置watchdog计数和复位不受CPU HALTED信号控制 更多...
 
int32_t scu_set_system_clk_gate (Sys_Clk_Gate_t base, FunctionalState gate)
 设置系统时钟开关 更多...
 
void scu_nmi_irq_cfg (Nmi_Irq_t irq)
 nmi中断使能 更多...
 

详细描述

CI130X芯片scu驱动


结构体说明

◆ IIS_Src_Config_t

struct IIS_Src_Config_t

IIS 时钟源 SRC配置结构体

成员变量
IIS_Src_Source_t source

SRC SOURCE 来源选择

uint32_t source_div

分频参数

◆ IIS_Mclk_Config_t

struct IIS_Mclk_Config_t

IIS MCLK配置结构体

成员变量
IIS_Mclk_Fs_t fs

MCLK 过采样率选择

IIS_Mclk_t mclk

MCLK 编号选择

IIS_Sck_Lrck_Wid_t sck_lrck

SCK/LRCK 比值

IIS_Mclk_Source_t src

MCLK 来源 SRC 编号选择

◆ IIS_Clk_ConfigTypedef

struct IIS_Clk_ConfigTypedef

IIS 时钟配置结构体

成员变量
IIS_Clk_Source_t clk_cfg

sck/lrck来源

IIS_SckLrck_Mode_t clk_mode

sck和lrck从PAD输出/输入

IISNumx device_select

iis控制器编号选择,0:iis0 1:iis1_tx 2:iis_rx 3:iis2

IIS_Mclk_Config_t mclk_cfg

MCLK配置

IIS_Mclk_Mode_t mclk_mode

mclk从PAD输出/输入

IIS_Mode_Sel_t model_sel

主从模式

IIS_Src_Config_t src_cfg

时钟来源SRC配置

宏定义说明

◆ MAIN_FREQUENCY

#define MAIN_FREQUENCY   200000000

系统主频

◆ SRC_FREQUENCY_NORMAL

#define SRC_FREQUENCY_NORMAL   12288000U

晶振频率

枚举类型说明

◆ ADIOResue_MODE

IO模拟数字功能选择

枚举值
DIGITAL_MODE 

数字功能

ANALOG_MODE 

模拟功能

◆ Codec_Channel_t

CODEC AD/DA 选择

枚举值
CODEC_CHANNEL_AD 

CODEC AD

CODEC_CHANNEL_DA 

CODEC DA

◆ Codec_Dac_Data_Sel_t

codec dac 输出数据来源选择

枚举值
CODEC_DAC_DATA_FROM_IIS1_TX 

codec dac输出数据来源于IIS1_TX

CODEC_DAC_DATA_FROM_PAD_IN 

codec dac输出数据来源于PAD_IN

CODEC_DAC_DATA_FROM_CODEC_ADC 

codec dac输出数据来源于CODEC_ADC

CODEC_DAC_DATA_FROM_PDM 

codec dac输出数据来源于PDM

◆ DmaInt_Sel_t

DMA 中断 channel 选择

枚举值
DMAINT_SEL_CHANNEL0 

只打开DMA channel 0的中断

DMAINT_SEL_CHANNEL1 

只打开DMA channel 1的中断

DMAINT_SEL_CHANNELALL 

打开DMA 两个channel 中断

◆ Dtr_Clk_Sel_t

DTRFLASH时钟来源选择

枚举值
DTR_CLK_SEL_SRC_CLK 

PLL倍频前的时钟

DTR_CLK_SEL_PLL_CLK 

PLL倍频后的时钟

◆ IIS_Clk_Mode_t

IIS 输入输出选择

枚举值
IIS_CLK_MODE_OUTPUT 

输出

IIS_CLK_MODE_INPUT 

输入

◆ IIS_Clk_Source_t

IIS SCK/LRCK输出来源

枚举值
IIS_CLK_SOURCE_MCLK0 

MCLK0产生的SCK/LRCK

IIS_CLK_SOURCE_MCLK1 

MCLK1产生的SCK/LRCK

IIS_CLK_SOURCE_MCLK2 

MCLK2产生的SCK/LRCK

IIS_CLK_SOURCE_PAD_IN 

PAD输入的SCK/LRCK

IIS_CLK_SOURCE_CODEC_AD 

codec_ad_sck_in

IIS_CLK_SOURCE_CODEC_DA 

codec_da_sck_in

IIS_CLK_SOURCE_PDM 

pdm_sck_in

◆ IIS_Mclk_Fs_t

IIS MCLK 过采样率选择

枚举值
IIS_MCLK_FS_128 

过采样率128

IIS_MCLK_FS_192 

过采样率192

IIS_MCLK_FS_256 

过采样率256

IIS_MCLK_FS_384 

过采样率384

◆ IIS_Mclk_Mode_t

IIS MCLK 输入/输出

枚举值
IIS_MCLK_MODENULL 
IIS_MCLK_IN 

IIS MCLK从PAD输入

IIS_MCLK_OUT 

IIS MCLK从PAD输出

◆ IIS_Mclk_Source_t

MCLK 时钟来源选择

枚举值
IIS_MCLK_SOURCE_SRC0 

来源于 SRC0

IIS_MCLK_SOURCE_SRC1 

来源于 SRC1

IIS_MCLK_SOURCE_SRC2 

来源于 SRC2

IIS_MCLK_SOURCE_PAD_IN 

来源于 PAD IN

◆ IIS_Mclk_t

MCLK 选择

枚举值
IIS_MCLK_MCLK0 

MCLK0

IIS_MCLK_MCLK1 

MCLK1

IIS_MCLK_MCLK2 

MCLK2

◆ IIS_Mode_Sel_t

IIS主从模式选择

枚举值
IIS_SLAVE 

IIS做SLAVE

IIS_MASTER 

IIS做MASTER

◆ IIS_Sck_Lrck_Wid_t

IIS SCK和LRCK的频率关系比值

枚举值
IIS_SCK_LRCK_WID_32 

SCK/LRCK=32

IIS_SCK_LRCK_WID_64 

SCK/LRCK=64

◆ IIS_SckLrck_Mode_t

IIS SCK和LRCK 输入/输出

枚举值
IIS_SCKLRCK_MODENULL 
IIS_SCKLRCK_IN 

IIS SCK和LRCK从PAD输入

IIS_SCKLRCK_OUT 

IIS SCK和LRCK从PAD输出

◆ IIS_Src_Source_t

MCLK 时钟源SRC的 来源选择

枚举值
IIS_SRC_SOURCE_IPCORE 

来源于 IPCORE

IIS_SRC_SOURCE_EXT_OSC 

来源于 EXT_OSC

IIS_SRC_SOURCE_INTER_RC 

来源于 INTERNAL RC

IIS_SRC_SOURCE_PAD_IN 

来源于 PAD IN

◆ IISNumx

IIS号选择

枚举值
IISNum0 

IIS0的编号

IISNum1_RX 

IIS1_RX的编号

IISNum1_TX 

IIS1_TX的编号

IISNum2 

IIS2的编号

◆ IOResue_FUNCTION

IO复用功能选择

枚举值
FIRST_FUNCTION 

第1功能

SECOND_FUNCTION 

第2功能

THIRD_FUNCTION 

第3功能

FORTH_FUNCTION 

第4功能

FIFTH_FUNCTION 

第5功能

SIXTH_FUNCTION 

第6功能

◆ Nmi_Irq_t

nmi中断选择

枚举值
NMI_IRQ_IWGD 
NMI_IRQ_WWGD 
NMI_IRQ_EXT0 
NMI_IRQ_EXT1 
NMI_IRQ_TIMER0 
NMI_IRQ_TIMER1 
NMI_IRQ_UART0 
NMI_IRQ_UART1 
NMI_IRQ_UART2 
NMI_IRQ_PA 
NMI_IRQ_PB 
NMI_IRQ_PC 
NMI_IRQ_VDT 
NMI_IRQ_V11_OK 
NMI_IRQ_ADC 

◆ Pad_IIS_Data_Sel_t

IIS pad sdo输出数据来源选择

枚举值
PAD_IIS_DATA_FROM_IIS0_TX 

IIS pad sdo输出数据来源于IIS0_TX

PAD_IIS_DATA_FROM_IIS1_TX 

IIS pad sdo输出数据来源于IIS1_TX

PAD_IIS_DATA_FROM_CODEC_ADC 

IIS pad sdo输出数据来源于CODEC_ADC

PAD_IIS_DATA_FROM_PDM 

IIS pad sdo输出数据来源于PDM

◆ PinPad_Name

IO复用列表,左至右依次为第1功能 ~ 第6功能,用"---"表示无第几复用功能

枚举值
PA0 

OSC_IN PA_0 PWM5 — — — —

PA1 

OSC_OUT PA_1 — — — — —

BOOT_SEL_0_PAD 

BOOT_SEL_0 — — — — —

SPI0_CS_PAD 

SPI0_CS — — — — —

SPI0_D1_PAD 

SPI0_D1 — — — — —

SPI0_D2_PAD 

SPI0_D2 — — — — —

PA2 

PA_2 IIS0_SDI IIC0_SDA UART1_TX PWM0 RC_CLK_V

PA3 

PA_3 IIS0_LRCLK IIC0_SCL UART1_RX PWM1 —

PA4 

PA_4 IIS0_SDO — — PWM2 —

PA5 

PA_5 IIS0_SCLK PDM_DAT UART2_TX PWM3 —

PA6 

PA_6 IIS0_MCLK PDM_CLK UART2_RX PWM4 —

PA7 

PA_7 PWM0 UART1_TX EXT_INT0 — —

PB0 

PB_0 PWM1 UART1_RX EXT_INT1 — —

PB1 

PB_1 PWM2 UART2_TX — — —

PB2 

PB_2 PWM3 UART2_RX — — —

PB3 

PB_3 PWM4 IIC0_SDA — — —

PB4 

PB_4 PWM5 IIC0_SCL — — —

PB5 

PB_5 UART0_TX IIC0_SDA PWM1 — —

PB6 

PB_6 UART0_RX IIC0_SCL PWM2 UART2_TX —

PB7 

PB_7 UART1_TX IIC0_SDA PWM3 PDM_DAT —

PC0 

PC_0 UART1_RX IIC0_SCL PWM4 PDM_CLK —

KEY_RSTN_PAD 

KEY_RSTN — — — — —

TEST_EN_PAD 

TEST_EN — — — — —

SPI0_D0_PAD 

SPI0_D0 — — — — —

SPI0_CLK_PAD 

SPI0_CLK — — — — —

SPI0_D3_PAD 

SPI0_D3 — — — — —

PC1 

AIN5 — PC_1 UART2_TX PWM3 PDM_DAT —

PC2 

AIN4 — PC_2 UART2_RX PWM2 PDM_CLK —

PC3 

AIN3 — PC_3 IIC0_SDA PWM1 PDM_DAT —

PC4 

AIN2 — PC_4 IIC0_SCL PWM0 PDM_CLK —

PC5 

PC_5 — — — — —

PD0 

PD_0 — — — — —

PD1 

PD_1 — — — — —

PD2 

PD_2 — — — — —

PD3 

PD_3 — — — — —

PD4 

PD_4 — — — — —

PD5 

PD_5 — — — — —

◆ Sys_Clk_Gate_t

系统时钟选择

枚举值
SLEEPING_GATE 
SLEEPDEEP_GATE 
CPU_CORECLK_GATE 
STCLK_GATE 
SRAM0_GATE 
SRAM1_GATE 
SRAM2_GATE 
SRAM3_GATE 
SRAM4_GATE 
SRAM5_GATE 
SRAM6_GATE 
ROM_GATE 

函数说明

◆ iis_clk_config()

void iis_clk_config ( IIS_Clk_ConfigTypedef config)

IIS时钟配置。 master模式时,配置iis的sck和lrck来源,codec和pdm的mclk来源,iis pad输出的mclk和sck lrck来源。 slave模式时,iis时钟从外部输入,配置iis pad为输入模式

参数
config,配置参数结构体
返回

◆ scu_clean_wwdg_halt()

void scu_clean_wwdg_halt ( )

设置watchdog计数和复位不受CPU HALTED信号控制

◆ scu_clear_ext_int_state()

int32_t scu_clear_ext_int_state ( Ext_Num  num)

清除外部事件中断唤醒状态

参数
num,需要设置的外部事件编号
返回值
RETURN_OK配置完成
RETURN_ERR参数错误

◆ scu_get_rc_trim_c_value()

uint8_t scu_get_rc_trim_c_value ( void  )

获取RC trim的粗调值

返回
uint8_t

◆ scu_get_rc_trim_f_value()

uint8_t scu_get_rc_trim_f_value ( void  )

获取RC trim的细调值

返回
uint8_t

◆ scu_get_rc_trim_state()

uint8_t scu_get_rc_trim_state ( void  )

获取RC trim状态设置

参数
uint8_t

◆ scu_get_system_reset_state()

int32_t scu_get_system_reset_state ( void  )

获取系统复位状态

返回值
RETURN_OK正常上电
RETURN_ERR异常复位

◆ scu_iis_clk_config()

void scu_iis_clk_config ( IISNumx  device,
IIS_Clk_Source_t  clk_source 
)

设置IIS(0、1、2)时钟参数

参数
deviceIIS设备编号选择
clk_sourceSCK/LRCK来源选择
返回

◆ scu_iis_codec_dac_data_config()

void scu_iis_codec_dac_data_config ( Codec_Dac_Data_Sel_t  src)

设置 codec dac IIS 输出数据来源

参数
src,codec dac IIS 数据来源
返回

◆ scu_iis_codec_mclk_config()

void scu_iis_codec_mclk_config ( Codec_Channel_t  channel,
IIS_Mclk_Source_t  src 
)

设置CODEC MCLK 时钟参数

参数
channel,CODEC AD/DA 选择
src,MCLK 来源选择
返回

◆ scu_iis_mclk_Config()

void scu_iis_mclk_Config ( IIS_Mclk_Config_t config)

设置IIS MCLK(0、1、2) 时钟参数

参数
config配置结构体
返回

◆ scu_iis_pad_clk_config()

void scu_iis_pad_clk_config ( IIS_Clk_Source_t  clk_source,
IIS_Clk_Mode_t  mode 
)

设置 IIS PAD CLK 时钟参数

参数
clk_source,SCK/LRCK 来源选择
mode,SCK/LRCK 时钟输入输出选择
返回

◆ scu_iis_pad_data_config()

void scu_iis_pad_data_config ( Pad_IIS_Data_Sel_t  src)

设置 pad IIS输出数据来源选择

参数
src,pad IIS输出数据来源选择
返回

◆ scu_iis_pad_mclk_config()

void scu_iis_pad_mclk_config ( IIS_Mclk_Source_t  src,
IIS_Clk_Mode_t  mode 
)

设置IIS PAD MCLK时钟参数

参数
src,MCLK 来源选择
mode,MCLK 时钟输入输出选择
返回

◆ scu_iis_pdm_mclk_config()

void scu_iis_pdm_mclk_config ( IIS_Mclk_Source_t  src)

设置 PDM MCLK 时钟参数

参数
src,MCLK 来源选择
返回

◆ scu_iis_src_config()

void scu_iis_src_config ( IIS_Src_Config_t config,
IIS_Mclk_Source_t  src 
)

设置IIS MCLK 时钟来源 SRC 时钟(0、1、2)的分频

参数
config配置结构体
返回

◆ scu_lock_clk_config()

void scu_lock_clk_config ( void  )

锁定时钟相关寄存器

◆ scu_lock_reset_config()

void scu_lock_reset_config ( void  )

锁定复位寄存器

◆ scu_lock_system_config()

void scu_lock_system_config ( void  )

锁定系统控制寄存器

◆ scu_nmi_irq_cfg()

void scu_nmi_irq_cfg ( Nmi_Irq_t  irq)

nmi中断使能

参数
irq,nmi中断选择

◆ scu_para_en_disable()

int8_t scu_para_en_disable ( uint32_t  device_base)

配置外设分频参数之前需将CLK_DIV_PARAM_EN_CFG寄存器相应位置0

参数
device_base,设备基地址
返回值
RETURN_OK配置完成
RETURN_ERR参数错误

◆ scu_para_en_enable()

int8_t scu_para_en_enable ( uint32_t  device_base)

配置外设分频参数之后需将CLK_DIV_PARAM_EN_CFG寄存器相应位置1

参数
device_base,设备基地址
返回值
RETURN_OK配置完成
RETURN_ERR参数错误

◆ scu_rc_trim_en()

void scu_rc_trim_en ( bool  en)

RC trim使能

参数
entrue,使能,false,不使能

◆ scu_rc_trim_state_clear()

void scu_rc_trim_state_clear ( void  )

清除RC trim的状态

◆ scu_run_in_flash()

void scu_run_in_flash ( void  )

设置程序在FLASH中运行

◆ scu_run_not_in_flash()

void scu_run_not_in_flash ( void  )

设置程序不在FLASH中运行

◆ scu_sel_dtrflash_clk()

void scu_sel_dtrflash_clk ( Dtr_Clk_Sel_t  clk)

设置DTR控制器时钟来源

参数
clk,DTR控制器时钟来源(PLL倍频前、PLL倍频后)

◆ scu_set_device_gate()

int32_t scu_set_device_gate ( uint32_t  device_base,
int32_t  gate 
)

设置外设时钟开关

参数
device_base,需要设置的外设基址
gate,DISABLE :关闭时钟 ,ENABLE :打开时钟
返回值
RETURN_OK配置完成
RETURN_ERR参数错误

◆ scu_set_device_reset()

int32_t scu_set_device_reset ( uint32_t  device_base)

配置外设复位

注解
配合scu_set_device_reset_Release 使用,先reset,然后release,外设复位完成
参数
device_base,设备基地址
返回值
RETURN_OK配置完成
RETURN_ERR参数错误

◆ scu_set_device_reset_release()

int32_t scu_set_device_reset_release ( uint32_t  device_base)

配置外设复位释放

注解
配合scu_set_device_reset 使用,先reset,然后release,外设复位完成
参数
device_base,设备基地址
返回值
RETURN_OK配置完成
RETURN_ERR参数错误

◆ scu_set_div_parameter()

int32_t scu_set_div_parameter ( uint32_t  device_base,
uint32_t  div_num 
)

设置外设时钟分频

注解
更改分频系数的时候详细步骤如下: (1)、关闭外设时钟Gate:scu_set_device_gate (2)、复位外设Reset:scu_set_device_reset (3)、设置外设时钟分频参数div:scu_set_div_parameter (4)、复位释放外设ResetRelease:scu_set_device_reset_release (5)、打开外设时钟Gate:scu_set_device_gate
参数
device_base,设备基地址
div_num,分频参数
返回值
RETURN_OK配置完成
RETURN_ERR参数错误

◆ scu_set_dma_mode()

void scu_set_dma_mode ( DmaInt_Sel_t  channel)

设置 DMA chanel 中断开启

参数
channel,DMA chanel 选择

◆ scu_set_ext_filter_config()

void scu_set_ext_filter_config ( Ext_Num  num,
FunctionalState  cmd,
uint32_t  param 
)

设置pad输入信号(外部事件)滤波

参数
num,需要设置的外部事件编号(EXT0、EXT1)
cmd,DISABLE :不使能 ,ENABLE :使能
param,pad输入信号(外部事件)滤波参数
返回

◆ scu_set_ext_wakeup_int()

int32_t scu_set_ext_wakeup_int ( Ext_Num  num,
FunctionalState  cmd 
)

设置外部事件中断唤醒

参数
num,需要设置的外部事件编号
cmd,DISABLE :禁止 ,ENABLE :使能
返回值
RETURN_OK配置完成
RETURN_ERR参数错误

◆ scu_set_system_clk_gate()

int32_t scu_set_system_clk_gate ( Sys_Clk_Gate_t  base,
FunctionalState  gate 
)

设置系统时钟开关

参数
base,需要设置的系统设备基地址
gate,DISABLE :关闭 ,ENABLE :打开
返回值
RETURN_OK配置完成
RETURN_ERR参数错误

◆ scu_set_wwdg_halt()

void scu_set_wwdg_halt ( )

设置watchdog计数和复位受到CPU HALTED信号控制

◆ scu_spiflash_no_boot_set()

void scu_spiflash_no_boot_set ( void  )

配置QSPI0 非boot 模式

◆ scu_unlock_clk_config()

void scu_unlock_clk_config ( void  )

解锁时钟相关寄存器

◆ scu_unlock_reset_config()

void scu_unlock_reset_config ( void  )

解锁复位相关寄存器

◆ scu_unlock_system_config()

void scu_unlock_system_config ( void  )

解锁系统控制寄存器

◆ scu_wait_pll_lock_state()

void scu_wait_pll_lock_state ( )

等待 PLL 处于 LOCK 状态