📄 powermanageprivate.h
字号:
/***********************************************Copyright (c)*********************************************
** Guangzou ZLG-MCU Development Co.,LTD.
**
** http://www.zlgmcu.com
**
**--------------File Info---------------------------------------------------------------------------------
** File name: PowerManage.c
** Last modified Date: 2007-11-09
** Last Version: 2.0
** Descriptions: 电源管理模块 函数实现,采用设备描述符来操作
**
**--------------------------------------------------------------------------------------------------------
** Created by: WangGuoguang
** Created date: 2007-11-08
** Version: 1.0
** Descriptions: LPC22xx 系列软件库 电源管理功能软件包.
**
**--------------------------------------------------------------------------------------------------------
** Modified by: WangGuoguang
** Modified Date: 2007-11-09
** Version: 2.0
** Descriptions: 完善功能,并按代码新规范修改.
**
*********************************************************************************************************/
#ifndef ____POWERMANAGEPRIVATE_H
#define ____POWERMANAGEPRIVATE_H
/*********************************************************************************************************
PowerManage & ADC 控制模块宏参数 (为了兼容不同功能外设编程风格)
*********************************************************************************************************/
#define __POWER_MAX_NUM 1
#define __POWER_NUM 0
#define __PADC_NUM 1
/*********************************************************************************************************
PowerManage 功能寄存器的偏址
*********************************************************************************************************/
#define __B_POWER_PCON 48
#define __B_POWER_PCONP 49
/*********************************************************************************************************
ADC 寄存器偏移地址(ADC :无论是开启/关闭节电,都必须先对ADC寄存器进行节电模式操作后,再进行系统控制部分设置)
*********************************************************************************************************/
#define __B_ADC_ADCR 0
/*********************************************************************************************************
PowerManage 寄存器字长偏移地址宏参数
*********************************************************************************************************/
#define __POWER_OFFSET_BASE 0
/*********************************************************************************************************
PowerManage 功能外设电源控制操作宏
*********************************************************************************************************/
#define __PART_POWER_ON(uiPartID) \
if (uiPartID == PCAD) { \
puiAdcBaseAddr[__B_ADC_ADCR << uiOffsetBase] |= (0x01 << 21); \
} \
puiPowerBaseAddr[__B_POWER_PCONP << uiOffsetBase] |= (0x01 << uiPartID);
#define __PART_POWER_OFF(uiPartID) \
if (uiPartID == PCAD) { \
puiAdcBaseAddr[__B_ADC_ADCR << uiOffsetBase] &= (~(0x01 << 21)); \
} \
puiPowerBaseAddr[__B_POWER_PCONP << uiOffsetBase] &= (~(0x01 << uiPartID));
/*********************************************************************************************************
ADC 设备信息结构体
*********************************************************************************************************/
struct __power_info {
uint32 uiPowerMutex; /* 电源管理互斥信息标志 */
uint32 uiPowerState; /* 电源状态标志.下面是状态标识 */
/* POWER_DOWN : 掉电模式 */
/* POWER_IDLE : 空闲模式 */
/* POWER_NOMAL: 正常模式 */
volatile uint32 uiOffsetBase; /* 电源管理寄存器偏移地址 */
volatile uint32 *puiPowerAddrBase; /* 电源管理寄存器基地址 */
volatile uint32 *puiAdcAddrBase; /* ADC功能外设寄存器基地址 */
};
typedef struct __power_info __POWER_INFO; /* 定义结构体类型 */
typedef __POWER_INFO *__PPOWER_INFO; /* 定义结构体指针类型 */
#endif /* ____POWERMANAGEPRIVATE_H */
/*********************************************************************************************************
END FILE
*********************************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -