70 lines
3.4 KiB
C
70 lines
3.4 KiB
C
|
||
|
||
|
||
#ifndef __CH57x_PWR_H__
|
||
#define __CH57x_PWR_H__
|
||
|
||
#ifdef __cplusplus
|
||
extern "C" {
|
||
#endif
|
||
|
||
#include "CH579SFR.h"
|
||
#include "core_cm0.h"
|
||
|
||
/**
|
||
* @brief Peripher CLK control bit define
|
||
*/
|
||
#define BIT_SLP_CLK_TMR0 (0x00000001) /*!< TMR0 peripher clk bit */
|
||
#define BIT_SLP_CLK_TMR1 (0x00000002) /*!< TMR1 peripher clk bit */
|
||
#define BIT_SLP_CLK_TMR2 (0x00000004) /*!< TMR2 peripher clk bit */
|
||
#define BIT_SLP_CLK_TMR3 (0x00000008) /*!< TMR3 peripher clk bit */
|
||
#define BIT_SLP_CLK_UART0 (0x00000010) /*!< UART0 peripher clk bit */
|
||
#define BIT_SLP_CLK_UART1 (0x00000020) /*!< UART1 peripher clk bit */
|
||
#define BIT_SLP_CLK_UART2 (0x00000040) /*!< UART2 peripher clk bit */
|
||
#define BIT_SLP_CLK_UART3 (0x00000080) /*!< UART3 peripher clk bit */
|
||
#define BIT_SLP_CLK_SPI0 (0x00000100) /*!< SPI0 peripher clk bit */
|
||
#define BIT_SLP_CLK_SPI1 (0x00000200) /*!< SPI1 peripher clk bit */
|
||
#define BIT_SLP_CLK_PWMX (0x00000400) /*!< PWMX peripher clk bit */
|
||
#define BIT_SLP_CLK_LCD (0x00000800) /*!< LCD peripher clk bit */
|
||
#define BIT_SLP_CLK_USB (0x00001000) /*!< USB peripher clk bit */
|
||
#define BIT_SLP_CLK_ETH (0x00002000) /*!< ETH peripher clk bit */
|
||
#define BIT_SLP_CLK_LED (0x00004000) /*!< LED peripher clk bit */
|
||
#define BIT_SLP_CLK_BLE (0x00008000) /*!< BLE peripher clk bit */
|
||
#define BIT_SLP_CLK_RAMX (0x10000000) /*!< RAM14K peripher clk bit */
|
||
#define BIT_SLP_CLK_RAM2K (0x20000000) /*!< RAM2K peripher clk bit */
|
||
#define BIT_SLP_CLK_ALL (0x3000FFFF) /*!< All peripher clk bit */
|
||
|
||
/**
|
||
* @brief unit of controllable power supply
|
||
*/
|
||
#define UNIT_SYS_LSE RB_CLK_XT32K_PON // 外部32K 时钟振荡
|
||
#define UNIT_SYS_LSI RB_CLK_INT32K_PON // 内部32K 时钟振荡
|
||
#define UNIT_SYS_HSE RB_CLK_XT32M_PON // 外部32M 时钟振荡
|
||
#define UNIT_SYS_HSI RB_CLK_INT32M_PON // 内部32M 时钟振荡
|
||
#define UNIT_SYS_PLL RB_CLK_PLL_PON // PLL 时钟振荡
|
||
#define UNIT_ETH_PHY (0x80) // 以太网收发器 ETH-PHY
|
||
|
||
|
||
void PWR_DCDCCfg( UINT8 s ); /* 内部DC/DC电源控制 */
|
||
void PWR_UnitModCfg( UINT8 s, UINT8 unit ); /* 可控单元模块的电源控制 */
|
||
void PWR_PeriphClkCfg( UINT8 s, UINT16 perph ); /* 外设时钟控制位 */
|
||
|
||
void PowerMonitor( UINT8 s ); /* 电源电压监控功能控制 */
|
||
|
||
void PWR_PeriphWakeUpCfg( UINT8 s, UINT16 perph ); /* 睡眠唤醒源配置 */
|
||
void LowPower_Idle( void ); /* 低功耗-IDLE模式 */
|
||
void LowPower_Halt_1( void ); /* 低功耗-Halt_1模式 */
|
||
void LowPower_Halt_2( void ); /* 低功耗-Halt_2模式 */
|
||
void LowPower_Sleep( UINT8 rm ); /* 低功耗-Sleep模式 */
|
||
void LowPower_Shutdown( UINT8 rm ); /* 低功耗-Shutdown模式 */
|
||
void EnterCodeUpgrade( void ); /* 跳入BOOT程序,准备代码升级 */
|
||
|
||
|
||
|
||
#ifdef __cplusplus
|
||
}
|
||
#endif
|
||
|
||
#endif // __CH57x_PWR_H__
|
||
|