⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rtc.c

📁 UC/OS2在2104的移植原代码
💻 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 + -