<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > S3C2440 RTC 裸機程序

S3C2440 RTC 裸機程序

作者: 時(shí)間:2016-11-26 來(lái)源:網(wǎng)絡(luò ) 收藏
RTC(實(shí)時(shí)時(shí)鐘)單元可以在當系統電源關(guān)閉后通過(guò)備用電池工作。RTC 可以通過(guò)使用STRB/LDRB ARM 操作發(fā)送8 位二-十進(jìn)制交換碼(BCD)值數據給CPU。這些數據包括年、月、日、星期、時(shí)、分和秒的時(shí)間信息。
RTC 單元工作在外部32.768kHz 晶振并且可以執行鬧鐘功能。

本文引用地址:http://dyxdggzs.com/article/201611/321881.htm

其特點(diǎn)概括為:

1 時(shí)鐘數據采用BCD編碼 時(shí)鐘數據包括 秒 分 時(shí) 日 月 年 星期(能對閏年的年月日在自動(dòng)處理)
2 32.768K 的晶振提供時(shí)鐘輸入
3 可以提供毫秒級的時(shí)鐘中斷 該中斷可用于作為嵌入式操作系統的內核時(shí)鐘

用其時(shí)鐘功能時(shí) 主要需要配置 實(shí)時(shí)時(shí)鐘控制寄存器(RTCCON)
RTCCON 寄存器由4 位組成,如控制BCD 寄存器讀/寫(xiě)使能的RTCEN、CLKSEL、CNTSEL 和測試用的
CLKRST。
RTCEN 位可以控制所有CPU 與RTC 之間的接口,因此在系統復位后在RTC 控制程序中必須設置為1 來(lái)使

能數據的讀/寫(xiě)。同樣的在掉電前,RTCEN 位應該清除為0 來(lái)預防誤寫(xiě)入RTC 寄存器中。

RTC(Real-Time Clock):實(shí)時(shí)時(shí)鐘。它的主要作用就是提供穩定的實(shí)時(shí)時(shí)鐘給后續電路用。主要功能有:時(shí)鐘,日歷,鬧鐘,周期性中斷輸出,32KHz時(shí)鐘輸出。系統掉電的情況下,利用后備電源使時(shí)鐘繼續運行,從而不會(huì )丟失時(shí)間信息。
寄存器:
RTCCON :控制寄存器
TICNT:節拍時(shí)間計數器
RTCALM:鬧鐘控制寄存器
ALMSEC:秒鬧鐘寄存器
ALMMIN:分鬧鐘寄存器
ALMHOUR:小時(shí)鬧鐘寄存器
ALMDATE:日鬧鐘寄存器
ALMMON:月鬧鐘寄存器
ALMYEAR:年鬧鐘寄存器
BCDSEC :秒寄存器
BCDMIN:分寄存器
BCDHOUR:時(shí)寄存器
BCDDAY:星期寄存器
BCDDATE:日寄存器
BCDMON:月寄存器
BCDYEAR:年寄存器

#defineGLOBAL_CLK1
#include "def.h"
#include "option.h"
#include "2440addr.h"
#include "2440lib.h"
#include "2440slib.h"
#include "mmu.h"


typedef struct Date
{
U16 year;
U8 month;
U8 day;
U8 week_day;
U8 hour;
U8 mintue;
U8 second;
}date;


date now_time;


void RTC_Setdate()
{
rRTCCON = 0x01;

rBCDYEAR =0x13; //p_date->year;
rBCDMON =0x07; //p_date->month;
rBCDDATE =0x29; // p_date->day;
rBCDDAY =0x2; // p_date->week_day;
rBCDHOUR =0x10; // p_date->hour;
rBCDMIN =0x48; //p_date->mintue;
rBCDSEC =0x00; //p_date->second;

rRTCCON = 0x00;
}



void RTC_Read(date *p_date)
{
rRTCCON = 0x01;

p_date->year = rBCDYEAR +0x2000 ;
p_date->month = rBCDMON ;
p_date->day = rBCDDATE ;
p_date->week_day = rBCDDAY;
p_date->hour = rBCDHOUR ;
p_date->mintue =rBCDMIN ;
p_date->second = rBCDSEC ;

rRTCCON = 0x00;
}


void delay(int times)
{
int i,j;
for(i = 0;i < times; i++)
for(j = 0; j < times; j++);
}


int Main()
{
char *week[7] = {"SUN","MON","TUES","WED","THURS","FRI","SAT"};
MMU_Init();
// RTC_Setdate();
while(1)
{
RTC_Read(&now_time);

Uart_Printf("NOWTIME: x-x-x %s x:x:x",now_time.year,
now_time.month,
now_time.day,
week[now_time.week_day-1],
now_time.hour,
now_time.mintue,
now_time.second);
delay(10000);
}
}



關(guān)鍵詞: S3C2440RTC裸機程

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>