exynos 4412 开发板中rtc时钟BCDDAY设置问题
半路码农 2018-05-09 10:02:43 exynos 4412 开发板中rtc时钟设置BCDDAY时,使用的是十六进制进行复制,代码如下
定义的时间结构体
typedef struct {
unsigned int BCDSEC;
unsigned int BCDMIN;
unsigned int BCDHOUR;
unsigned int BCDWEEK;
unsigned int BCDDAY;
unsigned int BCDMON;
unsigned int BCDYEAR;
}rtcbcd;
#define RTC (* (volatile rtcbcd *)0X10070070)
设置时间格式代码
RTCCON = 1;// 2018.05.09
RTC.BCDYEAR = 0X18;
RTC.BCDMON = 0X5;
RTC.BCDDAY = 0X9;
RTC.BCDHOUR = 0X5;
RTC.BCDMIN = 0X25;
RTC.BCDSEC = 0X10;
RTCCON = 0;
打印代码
printf("%x-%x-%x %02x:%02x:%02x\n",
RTC.BCDYEAR+0x2000,
RTC.BCDMON,
RTC.BCDDAY,
RTC.BCDHOUR,
RTC.BCDMIN,
RTC.BCDSEC);
在烧进开发板时,发现打印出来的时间出错,只有RTC.BCDDAY出错,只能读到RTC.BCDDAY的【0:2】位,即第三位以后的值就无法读出,哪位大神知道出什么问题了吗