📄 rtc.c
字号:
/****************************************Copyright (c)**************************************************
** 广州周立功单片机发展有限公司
** 研 究 所
** 产品一部
**
** http://www.zlgmcu.com
**
**--------------文件信息--------------------------------------------------------------------------------
**文 件 名: rtc.c
**创 建 人: 陈明计
**最后修改日期: 2003年7月8日
**描 述: lpc210x(飞利浦的ARM)的实时时钟使用在μCOS-II示例
**
**--------------历史版本信息----------------------------------------------------------------------------
** 创建人: 陈明计
** 版 本: v1.0
** 日 期: 2003年7月8日
** 描 述: 原始版本
**
**------------------------------------------------------------------------------------------------------
** 修改人: 陈明计
** 版 本: v1.1
** 日 期: 2003年7月21日
** 描 述: 根据正式文档更改寄存器名
**
**--------------当前版本修订------------------------------------------------------------------------------
** 修改人:
** 日 期:
** 描 述:
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#define IN_RTC
#include "config.h"
/*********************************************************************************************************
** 函数名称: RTCInit
** 功能描述: 实时时钟初始化
**
** 输 入: 无
**
** 输 出: 无
**
** 全局变量: 无
** 调用模块: 无
**
** 作 者: 陈明计
** 日 期: 2003年7月8日
**-------------------------------------------------------------------------------------------------------
** 修改人: 陈明计
** 日 期: 2003年7月21日
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void RTCInit(void)
{
CCR = 1;
PREINT = Fpclk / 32768 - 1;
PREFRAC = Fpclk - (Fpclk / 32768) * 32768;
}
/*********************************************************************************************************
** 函数名称: getdate
** 功能描述: 获取当前日期
**
** 输 入: today:date结构体指针用于返回日期
**
** 输 出: 当前日期
**
** 全局变量: 无
** 调用模块: 无
**
** 作 者: 陈明计
** 日 期: 2003年7月8日
**-------------------------------------------------------------------------------------------------------
** 修改人: 陈明计
** 日 期: 2003年7月21日
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void getdate(struct date *today)
{
OS_ENTER_CRITICAL();
today->da_year = YEAR;
today->da_mon = MONTH;
today->da_day = DOM;
today->da_dow = DOW;
OS_EXIT_CRITICAL();
}
/*********************************************************************************************************
** 函数名称: gettime
** 功能描述: 获取当前时间
** 输 入: now:time结构体指针用于返回时间
**
** 输 出: 无
**
** 全局变量: 无
** 调用模块: 无
**
** 作 者: 陈明计
** 日 期: 2003年7月8日
**-------------------------------------------------------------------------------------------------------
** 修改人: 陈明计
** 日 期: 2003年7月21日
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void gettime(struct time *now)
{
OS_ENTER_CRITICAL();
now->ti_hour = HOUR;
now->ti_min = MIN;
now->ti_sec = SEC;
now->ti_hund = (CTC * 100) / 32768;
OS_EXIT_CRITICAL();
}
/*********************************************************************************************************
** 函数名称: setdate
** 功能描述: 设置日期
** 输 入: today:date结构体指针指明当前日期
**
** 输 出: 无
**
** 全局变量: 无
** 调用模块: 无
**
** 作 者: 陈明计
** 日 期: 2003年7月8日
**-------------------------------------------------------------------------------------------------------
** 修改人: 陈明计
** 日 期: 2003年7月21日
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void setdate(struct date *today)
{
OS_ENTER_CRITICAL();
YEAR = today->da_year;
MONTH = today->da_mon;
DOM = today->da_day;
DOW = today->da_dow;
OS_EXIT_CRITICAL();
}
/*********************************************************************************************************
** 函数名称: settime
** 功能描述: 获取当前时间
** 输 入: now:time结构体指针用于指明当前时间
**
** 输 出: 无
**
** 全局变量: 无
** 调用模块: 无
**
** 作 者: 陈明计
** 日 期: 2003年7月8日
**-------------------------------------------------------------------------------------------------------
** 修改人: 陈明计
** 日 期: 2003年7月21日
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
void settime(struct time *now)
{
OS_ENTER_CRITICAL();
HOUR = now->ti_hour;
MIN = now->ti_min;
SEC = now->ti_sec;
OS_EXIT_CRITICAL();
}
/*********************************************************************************************************
** End Of File
********************************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -