📄 rtc.c
字号:
/*
* Copyright (C) 2001, Spectrum Digital, Inc. All Rights Reserved.
*/
#include "5509.h"
#include "util.h"
#define TIME_SEC 0x00
#define TIME_MIN 0x00
#define TIME_HOUR 0x10
#define TIME_DAYW 0x06 // Day of week (1..7 = Sunday..Saturday)
#define TIME_DAYM 0x01 // Day of month (1-31)
#define TIME_MONTH 0x06
#define TIME_YEAR 0x01
unsigned short int RTC_Test()
{
PC55XX_RTC pRTC = (PC55XX_RTC)C55XX_RTC_ADDR;
// Halt clock
SetMask(pRTC -> rtcinten, RTCINTEN_SET);
// Set initial time/date
WriteField(pRTC -> rtcsec, TIME_SEC, RTCSEC_SEC);
WriteField(pRTC -> rtcmin, TIME_MIN, RTCMIN_MIN);
WriteField(pRTC -> rtchour, TIME_HOUR, RTCHOUR_HR);
WriteField(pRTC -> rtcdayw, TIME_DAYW, RTCDAYW_DAY);
WriteField(pRTC -> rtcdaym, TIME_DAYM, RTCDAYM_DATE);
WriteField(pRTC -> rtcmonth, TIME_MONTH, RTCMONTH_MONTH);
// Put in 24 hour mode
ClearMask(pRTC -> rtchour, RTCHOUR_AMPM);
// Start clock running
ClearMask(pRTC -> rtcinten, RTCINTEN_SET);
// Wait for a while and check if the clock is running
SWDelayMsec(4000);
if (ReadField(pRTC -> rtcsec, RTCSEC_SEC) == TIME_SEC)
return ERR_RTC_FAIL;
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -