📄 rtc.h
字号:
/***********************************************Copyright (c)*********************************************
** Guangzou ZLG-MCU Development Co.,LTD.
**
** http://www.zlgmcu.com
**
**--------------File Info---------------------------------------------------------------------------------
** File name: Rtc.h
** Last modified Date: 2007-11-06
** Last Version: 1.0
** Descriptions: RTC驱动程序头文件,
**
**--------------------------------------------------------------------------------------------------------
** Created by: LiXiaoCheng
** Created date: 2007-11-06
** Version: 1.0
** Descriptions: 原始版本
**
**--------------------------------------------------------------------------------------------------------
** Modified by:
** Modified Date:
** Version:
** Descriptions:
**
*********************************************************************************************************/
#ifndef __RTC_H
#define __RTC_H
/*********************************************************************************************************
RTC设置模式时的uiArgMode参数选项
*********************************************************************************************************/
#define RTC_MODE_SEC_INT (1<<0) /* 启动秒增量中断 */
#define RTC_MODE_MIN_INT (1<<1) /* 启动分钟增量中断 */
#define RTC_MODE_HOU_INT (1<<2) /* 启动小时增量中断 */
#define RTC_MODE_DOM_INT (1<<3) /* 启动月里面天数增量中断 */
#define RTC_MODE_DOW_INT (1<<4) /* 启动星期值增量中断 */
#define RTC_MODE_DOY_INT (1<<5) /* 启动在年里面日期增量中断 */
#define RTC_MODE_MON_INT (1<<6) /* 启动月值增量中断 */
#define RTC_MODE_YEA_INT (1<<7) /* 启动年值增量中断 */
#define RTC_MODE_ALARM 0xff /* 启动报警中断 */
#define RTC_MODE_NULL 0x00 /* 无中断 */
/*********************************************************************************************************
** Function name: rtcInit
** Descriptions: RTC初始化函数,该函数为了兼容其他芯片的函数,暂时开放该接口,保留参数为以后添加
** Input parameters: uiArgID 器件编号,默认为0
** pucArgData 传入字符串参数指针,
** 传入的参数格式为关键字0=值0[空格]关键字1=值1[空格].....
** 关键字为:Wakeup 1表示支持CPU中断唤醒,0表示不支持
** Outclk 1表示使用外部振荡器和电源,0表示使用内部振荡器
** Output parameters: NONE
** Returned value: 返回1表示RTC已经为设置为外部晶振,返回0说明RTC使用内部晶振,OPERATE_FAIL表示
** 初始化失败,失败的原因为ID传入错误。
*********************************************************************************************************/
int32 rtcInit (uint32 uiArgID,
char *pucArgData,
uint32 uiRsv);
/*********************************************************************************************************
** Function name: rtcSetMode
** Descriptions: RTC设置模式参数,能够设置增量中断,报警中断,和清除中断
** Input parameters: uiArgID 器件编号,默认为0
** uiArgMode 要设置参数的类型,类型种类如下
** RTC_MODE_SEC_INT 秒增量中断
** RTC_MODE_MIN_INT 分钟增量中断
** RTC_MODE_HOU_INT 小时增量中断
** RTC_MODE_DOM_INT 月里面天数增量中断
** RTC_MODE_DOW_INT 星期值增量中断
** RTC_MODE_DOY_INT 在年里面日期增量中断
** RTC_MODE_MON_INT 月值增量中断
** RTC_MODE_YEA_INT 年值增量中断
** RTC_MODE_NULL 清除中断触发
** RTC_MODE_ALARM 报警中断
** pucArgData 当上面的uiArgMode为RTC_MODE_ALARM时,传入字符串参数指针,
** 用来设置报警值,否则可传入空指针。
** 传入的参数格式为关键字0=值0[空格]关键字1=值1[空格].....
** 关键字:Year 范围0-4095
** Month 月,范围1-12
** Day 日期(月),1-31
** Hour 小时,0-23
** Min 分钟,0-59
** Sec 秒 ,0-59
** Output parameters: NONE
** Returned value: 设置成功:OPERATE_SUCCESS,
** 设置失败:OPERATE_FAIL
** 失败的原因为ID传入错误。模式传入错误
*********************************************************************************************************/
int32 rtcModeSet (uint32 uiArgID,
uint32 uiArgMode,
char *pcArgData);
/*********************************************************************************************************
** Function name: rtcGetMode
** Descriptions: RTC获取模式参数,能够获取中断状态以及当前的报警中断报警值
** Input parameters: uiArgID 器件编号,默认为0
** uiArgMode 要获取参数的类型,类型种类如下,暂时开放报警中断
** RTC_MODE_ALARM 报警中断
** Output parameters: pcArgBuf 当上面的uiArgMode为RTC_MODE_ALARM时,输出RTC报警时间值,
** 输出格式为:"2007-07-01 12:36:25"
** Returned value: 获取成功:OPERATE_SUCCESS,
** 获取失败:OPERATE_FAIL
** 失败的原因为ID传入错误;输出缓冲区为NULL;查询报警值,但没有设置报警值
*********************************************************************************************************/
int32 rtcModeGet (uint32 uiArgID,
uint32 uiArgMode,
char *pcArgBuf);
/*********************************************************************************************************
** Function name: rtcTimeSet
** Descriptions: RTC设置时间函数,星期自动计算,字符串传入参数
** Input parameters: uiArgID 器件编号,默认为0
** pcArgData 该参数是输入字符串格式参数的指针
** 例如设置时间为2007年6月23日,13时45分21秒,输入参数如下
** "Year=2007 Month=6 Day=23 Hour=13 Min=45 Sec=21"
** Rsv 保留参数
** Output parameters: NONE
** Returned value: 获取成功:OPERATE_SUCCESS,
** 获取失败:OPERATE_FAIL
** 失败的原因为ID传入错误,或参数传入空指针
*********************************************************************************************************/
int32 rtcTimeSet (uint32 uiArgID,
char *pcArgData,
void *Rsv);
/*********************************************************************************************************
** Function name: rtcTimeGet
** Descriptions: RTC获取时间函数
** Input parameters: uiArgID 器件编号,默认为0
** Rsv 保留参数
** Output parameters: pcArgData 该参数是输出字符串格式参数的指针
** 例如输出时间"2007-6-23 3 12:35:40"
** Returned value: 获取成功:OPERATE_SUCCESS,
** 获取失败:OPERATE_FAIL
** 失败的原因为ID传入错误,或参数传入空指针
*********************************************************************************************************/
int32 rtcTimeGet(uint32 uiArgID,
char *pcArgBuf,
void *Rsv );
/*********************************************************************************************************
** Function name: rtcISR
** Descriptions: RTC中断服务程序,用户代码可以在IRQHook.c里添加。
** Input parameters: NONE
** Output parameters: NONE
** Returned value: NONE
*********************************************************************************************************/
void rtcIsr(void);
#endif /* __RTC_H */
/*********************************************************************************************************
END FILE
*********************************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -