S3C2451中RTC实时时钟

#include "S3C2451_rtc.h"
#include "S3C2451_vector.h"


RTC_MemMapPtr const   RTC_BASE_Ptr = RTC_BASE_PTR;


Time_InitTypeDef rt_time;






void RTC_IRQ_Init( U8 cnt,FunctionalState NewState)
{
/// rTICNT = 0xff;


if(NewState != DISABLE)
{
RTC_BASE_Ptr->TICNT0 |= 0x80;
RTC_BASE_Ptr->TICNT0 &= ~0x7f;
if(cnt>127)
cnt = 127;
RTC_BASE_Ptr->TICNT0 |= cnt;
}else
{
RTC_BASE_Ptr->TICNT0 &= ~0x80;
}
}
void RTCTick_Interrupt_IRQInit( U32 addr)
{
pISR_TICK = addr;
}






void RTC_Time_Set( Time_InitTypeDef rtc_init_struct )
{
RTC_BASE_Ptr->RTCCON = 1 ; //RTC read and write enable


RTC_BASE_Ptr->BCDYEAR = rtc_init_struct.year; //Äê
RTC_BASE_Ptr->BCDMON  = rtc_init_struct.month ; //ÔÂ
RTC_BASE_Ptr->BCDDATE = rtc_init_struct.day ; //ÈÕ
RTC_BASE_Ptr->BCDDAY  = rtc_init_struct.week ; //ÐÇÆÚ
RTC_BASE_Ptr->BCDHOUR = rtc_init_struct.hour ; //Сʱ
RTC_BASE_Ptr->BCDMIN  = rtc_init_struct.minute ; //·Ö
RTC_BASE_Ptr->BCDSEC  = rtc_init_struct.second ; //Ãë


RTC_BASE_Ptr->RTCCON &= ~1 ; //RTC read and write disable
}




void RTC_Time_Get(Time_InitTypeDef *rtc_init_struct ) 
{
RTC_BASE_Ptr->RTCCON = 1 ; //RTC read and write enable


rtc_init_struct->year = 0x2000+RTC_BASE_Ptr->BCDYEAR  ; //Äê
rtc_init_struct->month = RTC_BASE_Ptr->BCDMON  ; //ÔÂ   12     0x12 
rtc_init_struct->day = RTC_BASE_Ptr->BCDDATE  ; //ÈÕ
rtc_init_struct->week = RTC_BASE_Ptr->BCDDAY  ; //ÐÇÆÚ
rtc_init_struct->hour = RTC_BASE_Ptr->BCDHOUR  ; //Сʱ
rtc_init_struct->minute = RTC_BASE_Ptr->BCDMIN  ; //·Ö
rtc_init_struct->second = RTC_BASE_Ptr->BCDSEC  ; //Ãë

RTC_BASE_Ptr->RTCCON &= ~1 ; //RTC read and write disable
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值