3349|0

1025

帖子

1

TA的资源

一粒金砂(高级)

楼主
 

SAM4E板卡RTC测试 [复制链接]

       今天有了点时间,抽空来学习下RTC。本程序主要功能是设置个时间,然后实现秒中断,读出时间在OLED屏上显示。有关OLED屏的驱动这里就不多说了,本文的重点是测试RTC。
       实时时钟(RTC)是一组计数器,它用于测量时间,在系统掉电时也可以继续运行。周期性中断在时间寄存器任意字段的值递增时产生,并且可以选择小数秒的值。在出现特殊的日期和时间比时产生报警中断。并且可以通过计时时间设置波形输出等功能。
        RTC是实时时钟外设,在SAM4E_XPLAINED测试板上是低功耗外设,RTC有完整的时间和日期时钟附带闹钟功能,同时可设置200年的罗马教皇日历或者波斯日历。闹钟和日历寄存器可以通过32位总线访问。时间和日期的数值被编码成BCD码形式,时间可以有12小时和24小时形式显示。时间和日期可以通过32位总线对可编程的寄存器进行设置。RTC的时钟频率32768KHz。
       本次实验是利用RTC(实时时钟)的秒钟中断函数,来显示当前时间,在秒钟发生变化时就产生中断,即每一秒钟都产生中断。在中断函数中,用OLED屏显示当前时间。

RTC的内部结构框图

寄存器列表,具体功能请看数据书

下面就来看看程序的操作,首先定义个时间结构体

函数static uint32_t Week_Deal(uint32_t year, uint32_t month, uint32_tday)是通过给定的日期时间来计算出当天是周几,有个算法来实现的

RTC的初始化函数,设置时间rtc_set_time函数的返回值可以判断设置的数据是否成功,设置时间模式为24小时模式,并且使能秒中断

秒中断函数,中断里读取时间并在OLED屏上显示出来

主函数初始化

哦,对了,我来接了个红外传感器,以后可以对着办公室门口,老板来了就知道了,嘿嘿。使用的是PE2端口,低电平触发中断,串口上传数据

最后来看看实物显示

赞赏

1

查看全部赞赏

点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表