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

📄 rtc.c

📁 基于32位ColdFire构建嵌入式系统书本原程序.rar
💻 C
字号:
//[RTC.c]实时时钟文件------------------------------------------------------*
//本文件包含:                                                              *
//   (1)RTCInit:RTC初始化                                                  *
//-------------------------------------------------------------------------*

//头文件
#include "RTC.h"    //RTC头文件

//-------------------------------------------------------------------------*
//函数名: RTCInit                                                          *
//功  能: 初始化RTC                                                        * 
//参  数: nHour-时(0~23); nMinute-分(0~59); nSecond-秒(0~59)               *
//返  回: 无                                                               * 
//说  明: 初始化结束后,RTC是禁止的,与RTC相关的中断也是禁止的               *
//-------------------------------------------------------------------------*
void RTCInit(uint8 nHour, uint8 nMinute, uint8 nSecond)
{
    //1、禁止RTC
    DisableRTC();
    //2、设置RTC时钟频率(RTC时钟频率=(晶振频率-1)/1Hz)
	MCF_CLOCK_RTCDR = 24900000;
    //3、设置RTC的时、分、秒计数器
    MCF_RTC_HOURMIN = /*(uint32)((uint16)((uint16)(nHour<<8) & 0xFF00) 
                      | (uint16)(((uint16)nMinute) & 0x00FF))*/0;
    MCF_RTC_SECONDS = /*(uint32)nSecond*/0;
    //4、禁止与RTC相关的所有中断
    MCF_RTC_IER = 0x00000000;
}

//-------------------------------------------------------------------------*
//函数名: RTCTimeSetting                                                   *
//功  能: 设置RTC当前的"时分秒"                                            * 
//参  数: RTCTime-保存"时分秒"的数组(1字节时+1字节分+1字节秒)              *
//        len-数组的长度                                                   *
//返  回: 无                                                               *
//-------------------------------------------------------------------------*
void RTCTimeSetting(uint8 RTCTime[], uint8 len)
{
    //1、禁止RTC
    DisableRTC();
    //2、设置当前RTC时间
    MCF_RTC_HOURMIN = (uint32)((uint16)((uint16)(RTCTime[0]<<8) & 0xFF00) 
                      | (uint16)(((uint16)RTCTime[1]) & 0x00FF));
    MCF_RTC_SECONDS = (uint32)RTCTime[2];
    //3、使能RTC
    EnableRTC();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -