STM32 RTC时钟的配置
1) 使能电源时钟和备份区域时钟。
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE); //使能电源时钟和备份区域时钟。
2) 取消备份区写保护。
要向备份区域写入数据,就要先取消备份区域写保护 ,否则是无法向备份区域写入数据的。
PWR_BackupAccessCmd(ENABLE); //使能 RTC 和后备寄存器访问
3) 复位备份区域,开启外部低速振荡器。
BKP_DeInit();//复位备份区域
RCC_LSEConfig(RCC_LSE_ON);// 开启外部低速振荡器
4) 选择 RTC 时钟,并使能。
RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE); //选择 LSE 作为 RTC 时钟
RCC_RTCCLKCmd(ENABLE); //使能 RTC 时钟
5) 设置 RTC 的分频,以及配置 RTC 时钟。
在进行 RTC 配置之前首先要打开允许配置位(CNF),库函数是:
RTC_EnterConfigMode();// 允许配置
在配置完成之后,千万别忘记更新配置同时退出配置模式,函数是:
RTC_ExitConfigMode();//退出配置模式, 更新配置
设置 RTC 时钟分频数, 库函数是:
void RTC_SetPrescaler(uint32_t PrescalerValue);
然后是设置秒中断允许, RTC 使能中断的函数是:
void RTC_ITConfig(uint16_t RTC_IT, FunctionalState NewState);
RTC_ITConfig(RTC_IT_SEC, ENABLE); //使能 RTC 秒中断
库函数中设置 RTC 计数值的方法是:
void RTC_SetCounter(uint32_t CounterValue)
6) 更新配置,设置 RTC 中断分组。
RTC_ExitConfigMode();//退出配置模式,更新配置
往备份区域写用户数据的函数是:
void BKP_WriteBackupRegister(uint16_t BKP_DR, uint16_t Data);
例如BKP_DR1 写入 0x5050,方法是 :
BKP_WriteBackupRegister(BKP_DR1, 0X5050);
同时,有写便有读,读取备份区域指定寄存器的用户数据的函数是:
uint16_t BKP_ReadBackupRegister(uint16_t BKP_DR);
7) 编写中断服务函数。
知识来源 STM32F1 开发指南(库函数版)
STM32 RTC时钟的配置的更多相关文章
- STM32 MCO时钟输出配置实验
STM32的PA.8引脚具有复用功能——时钟输出(MCO), 该功能能将STM32内部的时钟通过PA.8输出. 操作流程: 1).设置PA.8为复用AF模式. RCC_AHB1PeriphClockC ...
- RTC时钟和BKP的配置stm32
摘自:https://blog.csdn.net/gtkknd/article/details/52233605 RTC和后备寄存器通过一个开关供电,在VDD有效的时候选择VDD供电,否则选择VBAT ...
- stm32——RTC实时时钟
stm32——RTC实时时钟 一.关于时间 2038年问题 在计算机应用上,2038年问题可能会导致某些软件在2038年无法正常工作.所有使用UNIX时间表示时间的程序都将将受其影响,因为它们以自19 ...
- stm32 rtc 实时时钟
STM32的实时时钟是一个独立的定时器 通常会在后备区域供电端加一个纽扣电池,当主电源没有电的时,RTC不会停止工作 若VDD电源有效,RTC可以触发秒中断.溢出中断和闹钟中断 备份寄存器BKP 备份 ...
- [转载]:STM32为什么必须先配置时钟再配置GPIO
转载来源 :http://blog.csdn.net/fushiqianxun/article/details/7926442 [原创]:我来添两句,就是很多同学(包括我)之前搞低端单片机,到了stm ...
- 树莓派配置RTC时钟(DS3231,I2C接口)
1.购买基于DS3231的RTC时钟模块,并且支持3.3V的那种 2.配置树莓派 a.打开树莓派的i2c接口 sudo raspi-config -->Interfacing Options - ...
- STM32为什么必须先配置时钟
首先,任何外设都需要时钟,51单片机,stm32,430等等,因为寄存器是由D触发器组成的,往触发器里面写东西,前提条件是有时钟输入. 51单片机不需要配置时钟,是因为一个时钟开了之后所有的功能都可以 ...
- STM32入门系列-STM32时钟系统,时钟使能配置函数
之前的推文中说到,当使用一个外设时,必须先使能它的时钟.怎么通过库函数使能时钟呢?如需了解寄存器配置时钟,可以参考<STM32F10x中文参考手册>"复位和时钟控制(RCC)&q ...
- [转] STM32各种时钟的区别
[原创]:http://m.oschina.net/blog/129357 我在原创的基础又从另一位博主处引用了一些内容. 时钟系统是处理器的核心,所以在学习STM32所有外设之前,认真学习时钟系统是 ...
随机推荐
- 部署showdoc
1.下载 https://github.com/star7th/showdoc 2.解压 sudo tar -zvxf ~/showdoc-2.4.5.tar.gz -C /home/wwwroot/ ...
- MongoDB(课时15 数据排序)
3.4.2.10 数据排序 在MongoDB里数据排序操作使用“sort()”函数,在进行排序的时候可以有两个顺序:升序(1),降序(-1). 范例:排序 db.students.find().sor ...
- jq 便捷api jq 常用 api jq 快捷 api
jq 选择器 1.相对值用法 width("+=250px") $("input").width("+=250px"); 2.使用函数来 ...
- 算法笔记--字符串hash
概述: 主要用于字符串的匹配. 定义hash函数: H(c)=(c1bm-1 +c2bm-2 +...+cmb0)mod h 对于字符串c中l-r区间的hash值: H(l,r)=H(1,r)-H(1 ...
- POJ-3744 Scout YYF I (矩阵优化概率DP)
题目大意:有n颗地雷分布在一条直线上,有个人的起始位置在1,他每次前进1步的概率为p,前进两步的概率为1-p,问他不碰到地雷的概率. 题目分析:定义状态dp(i)表示到了dp(i)的概率,则状态转移方 ...
- 部署docker-registry私有仓库
部署docker-registry私有仓库 创建文件夹 sudo mkdir -p /var/docker-data/{registry,certs,auth} sudo openssl req ...
- iOS UI-九宫格
第一节课: .复习 .运行App应用管理,简单界面分析 .一个应用为一个整体,直接创建一个appView然后计算frame .说明弊端,应该根据数据的个数来for循环创建 第二节课: .加载plist ...
- PHP header函数设置http报文头示例详解
//定义编码 header( 'Content-Type:text/html;charset=utf-8 '); //Atom header('Content-type: application/at ...
- forget word _a
forget word a~ 一再,铺音前 1● ab 2● ac 3● ad 4● af 5● ag 6● an 7● as 8● at 9● ap 10● ar
- Microsoft Word 2007 向程序发送命令时出现问题解决方法
最近在打开Word文档时总是出现“向程序发送命令时出现问题”对话框,而且不确定性,关闭重新打开有时没事了有时还不行, 很让人头疼,经过尝试,把问题解决了 1.问题截图如下: 2.解决方法 1)方法一: ...