📄 rtc.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 + -