STM32F103 RTC时钟 配置
作用:实时时钟是一个独立的定时器。 RTC模块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能。 在后备电源存在的时候可以实现掉电保持计数。
以下是我粗略地做了个流程图 大致的配置rtc的步骤
这里以正点原子哥的示例代码进行讲解
时钟的配置
这里使用的是HAL库版本
首先在回调函数HAL_RTC_MspInit 中对时钟进行配置
从上图可以看到 这里选择的是外部低速时钟 开发板上搭载的时钟源是32. 768KHZ的晶振
当然我们还不能直接拿来用,我们还要对其进行分频
这里分频选择的值是 32767 + 1 最后得到的理论值大概是1HZ 差不多一秒钟一次中断
数据的读取与设置
通过阅读参考手册 我们知道rtc数据寄存器的数据读取是有写保护的,首先要将RTC_CR 的 位 RTOFF进行置1才能进行写入,并且每次都是半字写入
参考上面代码 配置过程 其中RTC->CRL位是只读位 当其置1时表示操作完成
然后读操作更简单只要直接进行读取寄存器即可
直接将高低位分别存入即可
后备寄存器
为了上电不重复初始化RTC 那该怎么做呢,这里使用了一种非常秒的方法,在第一次初始化的时候将一个特定的序列值写入BKP寄存器的数据位,然后在下次上电的时候检测是否有写入相应的值,如果有则初始化过 使用直接跳过,否则进行第一次初始化
也就是下面这段函数
小结
最后在附上一张电源的结构框图,因为之前一直不明白 为什么断电还可以继续计数,看到这张图片之后就恍然大悟了 - -
STM32F103 RTC时钟 配置相关推荐
- STM32 RTC时钟掉电日期不更新 STM32 HAL库RTC时钟配置
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 STM32 RTC时钟掉电日期不更新 & STM32 HAL库RTC时钟配置 一.STM32CubeMX RTC配置 二.RT ...
- linux c设置rtc时间,linux内核的rtc时钟配置
linux内核的rtc时钟配置,见Device Drivers --->Real Time Clock .我们的RTC主要是有三种接口配置,一种是I2C接口,一种是SPI接口,还有就是CPU自 ...
- 火牛单片机rtc时钟配置_怎么用STM32F103RTC进行时钟的配置
#include "sys.h" #include "delay.h" #include "usart.h" #include " ...
- stm32 RTC时钟配置
stm32--RTC实时时钟 一.关于时间 2038年问题 在计算机应用上,2038年问题可能会导致某些软件在2038年无法正常工作.所有使用UNIX时间表示时间的程序都将将受其影响,因为它们以自19 ...
- 火牛单片机rtc时钟配置_STM32单片机RTC时钟的使用方法及步骤
STM32RTC 使用步骤: 打开 PWR 时钟和 Backup 区数据访问 若使用外部低速时钟( LSE ) ,打开 LSE 并等待起振 选择和打开 RTC 时钟,等待时钟同步 配置时间格式,分频系 ...
- 火牛单片机rtc时钟配置_亲测实验,RTC使用内部低速时钟LSI时,对RTC的配置过程...
下面是一开始写程序时,配置过程: char RTCInit() { char count = 0; StartTime.year = 16; StartTime.month = 3; StartTim ...
- STM32F103系统时钟配置
文章目录 一.系统时钟原理图 二.系统时钟配置方法 1.通过汇编进入系统初始化函数(startup_stm32f10x_hd.s) 2.在系统初始化函数SystemInit中调用系统时钟设置函数Set ...
- 火牛单片机rtc时钟配置_RTC 实时时钟驱动 - Linux内核之我的天下 - CSDN博客
RTC实时时钟驱动 -------I2C软件模拟通信 内核版本: linux-2.4.21 文档设计:侯辉华 版本: 1.01 时间: 2007/06/10 内容简介:介绍接在I2C总线上RTC实时时 ...
- 火牛单片机rtc时钟配置_STM8单片机rtc时钟的设计
STM8 rtc 时钟可以使用内部低频时钟源,或者外部低速 32768Hz 时钟源,关 于 rtc 部分代码如下: #include #include voidinit_rtc ( void ) { ...
最新文章
- __stdcall in c++ builder
- Python基础数据类型之set集合
- JAVA学习篇--JSP实现原理
- android4.0 菜单,Android 4.0.4系统曝光 增新Power菜单
- 【C++第一个Demo】---控制台RPG游戏3【登陆菜单树】
- 字符串匹配算法(Trie树)
- 第二阶段冲刺10天 第六天
- gps有几个轨道面_同样是精准定位,为何GPS只用24颗卫星,北斗却需要55颗卫星?...
- 自定义ZXing二维码扫描界面并解决取景框拉伸等问题
- 用php解决钱币组合问题,关于若干数组组合的问题 PHP
- adb for linux 工具包,Linux(Ubuntu)下配置安装adb工具
- python局域网传输文件
- Pandas 重置索引深度总结
- 信息收集及漏洞利用--安全(四)
- C#游戏实例:弹砖块游戏
- 三代Pacbio进行细菌16S全长测序
- 【力扣刷题】121.买卖股票的最好时机(python)
- idea项目管理github无法登陆
- 软件开发搞定计算机组成原理:计算篇
- 【C语言】函数基础知识点总结
热门文章
- 跑步App(室内+室外+分享功能)
- 直播系统开发的语言选择
- 计算机处理执行最快的,如何提升电脑运行速度(简单快捷处理经验谈)
- 王桂林 C++基础与提高 练习题——string数组
- openedx 修复课程grades文件下载bug
- 币小秘:死灰复燃的雷达币,一定要小心
- Linux运维工程师面试题(1)
- 关于《设计模式》与《设计模式沉思录》中提到的“常露齿嘻笑的猫”(Cheshire Cat)的说明...
- golang爬虫项目Pholcus源码分析(四)
- 约瑟夫环问题(Josephus)