01 什么是 RTC

RTC(实时时钟)是 real time clock的简称,是一种计算机时钟,通常采用集成电路的形式,专门用于计时。自然地,它可以计算秒、分、小时、日、月甚至是年。RTC可以在个人计算机、嵌入式系统和服务器中找到,并且存在于任何可能需要精确计时的电子设备中。即使设备电源关闭,仍能通过电池或独立于系统的电源供电。

RTC 有哪些好处呢?

  • 事实证明,RTC 比其他方法更精确——比如MCU的定时器。
  • 它将主系统从时间紧迫的任务中解放出来。
  • 它具有较低的功耗。

那么,如何在我们的OneOS中使用RTC呢,下面我们来一起操作一下吧。

02 工程配置及生成

以下配置均以万耦一代开发板(STML475)为例,配置硬件 RTC, 并生成工程。

Step 1 使用STM32CUBEMX配置硬件

1.打开 oneos\projects\xxxxx(project文件夹)\board\CubeMX_Config下 的 CUBE 工程文件(xxx.ioc);

2.在 CUBE 工程中进行 RTC 配置,如下图所示,红色框选中的地方依次选择RTC、勾选Activate Clock Source,然后点击③的Clock Configuration检查时钟选择,最后点击④的GENARATE CODE 生成代码;

确认是否修改时钟配置,如有修改,则使用CubeMX_Config\Src文件夹中main.c的void SystemClock_Config(void)替换掉同目录下bsp.c中的SystemClock_Config(void)。

Step 2 使用 Menuconfig 配置工程选项

1.在对应的 oneos\projects\xxxxx(project文件夹) 目录下打开OneOS-Cube工具,在命令行输入 menuconfig 打开可视化配置界面;

2.通过[↑]、[↓]按键、空格、enter键或向右方向键选择 Drivers->RTC 下的Using RTC drivers选项,如下所示:

(Top) → Drivers→ RTC
[*] Using RTC drivers

3.Esc键退出menuconfig,注意保存所修改的设置。

Step 3 使用 Scons 构建工程

在上一步打开的OneOS-Cube 工具命令行中输入 scons --ide=mdk5重新构建keil工程。

03 工程编译及实现

1.打开对应的 oneos\projects\xxxxx(project文件夹) 目录下的 project.uvprojx 工程文件,此时即可在工程中添加相应的应用程序。

2.如下图所示,在打开的工程application 文件夹中右键选择Manage Project Items,按图示添加提供的rtc_test.c文件(路径:oneos\drivers\driver_test);

3.编译并下载工程,运行程序;

4.打开串口工具如xshell等,通信成功后,即可通过输入rtc_set_test设置RTC的时间,输入rtc_get_test可获取当前的时间;

5.通过修改rtc_test.c中所设置的时间,查看效果。

6.如不再使用RTC设备,可再次使用OneOS-Cube工具取消,在Drivers->RTC 下取消Using RTC drivers 的选择,保存设置后重新生成工程即可。

串口交互记录如下:

sh />rtc_get_test
Sat Jan  1 00:30:20 2000sh />
sh />rtc_set_test
Mon Jun  1 09:30:03 2020sh />
sh />rtc_get_test
Mon Jun  1 09:30:05 2020sh />
sh />rtc_get_test
Mon Jun  1 09:30:10 2020

系统时间不够精确?试试RTC(实时时钟)相关推荐

  1. stm32f4 RTC实时时钟解析

    RTC是什么–简介 RTC,英文全称:Real-time clock,中文名称:实时时钟,是指可以像时钟一様输出实际时间的电子设备,一般会是集成电路,因此也称为时钟芯片.实时时钟芯片是日常生活中应用最 ...

  2. STM32——RTC实时时钟原理+BKP寄存器原理

    一.RTC实时时钟特征与原理 1.RTC(Real Time Clock):实时时钟 2.RTC是个独立的BCD定时器/计数器.RTC提供一个日历时钟,两个可编程闹钟中断,以及一个具有中断功能的周期性 ...

  3. 嵌入式--RTC实时时钟原理及相关库函数功能

    一.RTC实时时钟原理 1.RTC实时时钟是一个独立的定时器,可以提供日期时间或者闹钟的功能.其核心是通过32位可编程计数器RTC_CNT计数来进行时间配置. 2.图1中RTCCLK为RTC时钟源,其 ...

  4. 【STM32】RTC实时时钟概述、寄存器、库函数(RTC一般步骤)

    STM32F1xx官方资料: <STM32中文参考手册V10>-第16章  实时时钟(RTC) RTC实时时钟 RTC实时时钟简介 实时时钟是一个独立的定时器.RTC模块拥有一组连续计数的 ...

  5. 【正点原子STM32连载】 第二十七章 RTC实时时钟实验 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1

    1)实验平台:正点原子MiniPro H750开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=677017430560 3)全套实验源码+手册+视频 ...

  6. 25 linux ndk 头文件_正点原子Linux第二十五章RTC实时时钟实验

    1)资料下载:点击资料即可下载 2)对正点原子Linux感兴趣的同学可以加群讨论:935446741 3)关注正点原子公众号,获取最新资料更新 第二十五章RTC实时时钟实验 实时时钟是很常用的一个外设 ...

  7. RTC实时时钟实验(低功耗、纽扣电池供电)

    目录 I.MX6U RTC 简介 硬件原理分析 实验程序编写 修改文件MCIMX6Y2.h 编写实验程序 编译下载验证 编写Makefile 和链接脚本 编译下载 实时时钟是很常用的一个外设,通过实时 ...

  8. RTC实时时钟(学习笔记)

    RTC实时时钟特征与原理 RTC(Real Time Clock):实时时钟. RTC是个独立的定时器.RTC模块拥有一个连续计数的计数器,在相应的软件配置下,可以提供时钟日历的功能.修改计数器的值可 ...

  9. STM32之RTC实时时钟

    RTC实时时钟简介: STM32的RTC外设,实质是一个掉电后还继续运行的定时器,从定时器的角度来看,相对于通用定时器TIM外设,它的功能十分简单,只有计时功能(也可以触发中断).但是从掉电还能继续运 ...

  10. 【正点原子FPGA连载】第三十一章RTC实时时钟数码管显示实验 -摘自【正点原子】新起点之FPGA开发指南_V2.1

    1)实验平台:正点原子新起点V2开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=609758951113 2)全套实验源码+手册+视频下载地址:ht ...

最新文章

  1. TCP握手和传输的一次观察
  2. 如何检查密钥库文件中的证书名称和别名?
  3. 设计模式 — 行为型模式 — 访问者模式
  4. Linux基金会宣布将为GraphQL成立基金会
  5. 基于stm32、spi协议的Fatfs文件系统移植(附完整代码下载)
  6. ITK:重视Valued图像的区域最小值
  7. 深度学习(9)TensorFlow基础操作五: Broadcasting
  8. 6、oracle数据库下查询操作
  9. 系统架构师学习笔记-系统性能评价
  10. Python项目实践:基本统计值计算
  11. 设置mysql密码 Access denied 问题
  12. python自动测试m_python自动化测试实例解析
  13. mysql 不执行索引_mysql使用不上索引的几种情况
  14. mybatis-generator-gui--一个mybatis代码自动生成界面工具
  15. 太强了,神州7号发射flash全程模拟!
  16. 网页播放rtsp视频流最终方案
  17. C语言刷题随记 —— 国际象棋棋盘
  18. 要来了!国内安卓统一推送标准将于 今年3 月开启测试
  19. JavaWEB(AJAX实现分页)
  20. 【李宏毅】机器学习-RNN

热门文章

  1. 郭逸淵:4月7日比特幣(BTC)以太坊(ETH)行情分析及布局思路
  2. 如何检查DirectX的版本(用于Windows Phone Developer Tools的安装检查)
  3. 华为鸿蒙研发团队负责人,走进华为北研所:EMUI 11 背后的“人因研究”到底是什么?...
  4. android 字符串中截取,【安卓按键精灵】几种字符串提取的方法(源码)
  5. 一Flash从入门开发者放弃了成长之路
  6. 海通证券否认获批试点 融资融券再度忽悠券商股
  7. 负载均衡服务器性能评估,性能测试:pgpool做负载均衡的性能评估
  8. 微型计算机ALE,微型计算机技术课后习题一二三章答案
  9. Springboot @Lazy注解
  10. 用java在画布中绘制六个随机英文字母