ARM接口编程—RTC(exynos 4412平台)

RTC简介

RTC(Real Time Clock)即实时时钟,它是一个可以为系统提供精确的时间基准的元器件,RTC一般采用精度较高的晶振作为时钟源,有些RTC为了在主电源掉电时还可以工作,需要外加电池供电。

RTC内部原理

RTC寄存器

RTC控制寄存器

用于使能RTC控制和闹铃相关控制

RTC时间寄存器

用于存储BCD格式秒

用于存储BCD格式分钟

用于存储BCD格式小时

用于存储BCD格式星期

用于存储BCD格式天

用于存储BCD格式月

用于存储BCD格式年

存储当前的计数值

代码实现:

c 复制代码
#include "exynos_4412.h"

int main()
{
	unsigned int OldSec = 0, NewSec = 0;

	/*使能RTC控制*/
	RTCCON = RTCCON | 1;
	/*校准时间信息*/
	RTC.BCDYEAR = 0x023;
	RTC.BCDMON  = 0x12;
	RTC.BCDDAY  = 0x7;
	RTC.BCDWEEK = 0x31;
	RTC.BCDHOUR = 0x23;
	RTC.BCDMIN  = 0x59;
	RTC.BCDSEC  = 0x50;
	/*禁止RTC控制*/
	RTCCON = RTCCON &  (~(1));

	while(1)
	{
		NewSec = RTC.BCDSEC;
		if(OldSec != NewSec)
		{
			printf("20%x-%x-%x %x %x:%x:%x\n",
			RTC.BCDYEAR, 
			RTC.BCDMON, 
			RTC.BCDWEEK, 
			RTC.BCDDAY, 
			RTC.BCDHOUR, 
			RTC.BCDMIN, 
			RTC.BCDSEC);	
			OldSec = NewSec;
		}
	}
	return 0;
}
相关推荐
xyx-3v1 小时前
VS CodeC51 单片机开发环境搭建
单片机·嵌入式硬件
牧以南歌〆3 小时前
在Ubuntu主机中修改ARM Linux开发板的根文件系统
linux·arm开发·驱动开发·ubuntu
lingzhilab4 小时前
零知开源——STM32F4结合BMP581气压传感器实现ST7789中文显示教程
stm32·单片机·嵌入式硬件
夜月yeyue4 小时前
设计模式分析
linux·c++·stm32·单片机·嵌入式硬件
猫猫的小茶馆6 小时前
【STM32】外部中断
stm32·单片机·嵌入式硬件·mcu·51单片机
brave and determined8 小时前
国产MCU学习Day11——CW32F030C8T6 低电压检测器(LVD)详解与应用
单片机·嵌入式硬件·嵌入式·国产mcu·cw32f030c8t6·cw32f030c8t6lvd·低电压检测器
金色光环12 小时前
stm32与tp-linkv2接线、解决识别不到芯片问题
stm32·单片机·嵌入式硬件
不落的太陽17 小时前
让测距功能与时俱进
单片机·嵌入式硬件
Funing717 小时前
stm32地址偏移:为什么相邻寄存器的地址偏移量0x04表示4个字节?
stm32·单片机·嵌入式硬件