RTC_Configuration
Void RTC_Configuration(void)//
实时时钟的初始化配置
{
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR
|
RCC_APB1Periph_BKP,ENABLE);
//
使能
APB1
外设
PWR
(电源控制寄存器)
BKP
(备份寄存器)时钟。
PWR_BackupAccessCmd(ENABLE);
//
允许访问
BKP
域
BKP_DeInit();
//
复位备份域。
#ifdef
RTCClockSource_LSI
RCC_LSICmd(ENABLE);
//
使能内部低速晶振。
While(RCC_GetFlagStatus(RCC_Flag_LSIRDY)==RESET)//
等待
LSI
准备好
{
}
RCC_RTCCLKConfig(RCC_RTCCLKSource_LSI);//
选择
LSI
为
RTC
时钟
#elif
define
RTCClockSource_LSI
RCC_LSEConfig(RCC_LSE_ON);
//LSE
晶振
ON
While(RCC_GetFlagStatus(RCC_Flag_LSERAY)==RESET)//
等待
LSE
准备好
{
}
RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE);//
选择
LSE
为
RTC
时钟
#endif
RCC_RTCCLKCmd(ENABLE);
//
使能
RTC
时钟
#ifdef
RTC_ClockOutput_ENABLE
//
禁止
Tamper
引脚
BKP_TamperPinCmd(DISABLE);//
为了将
RTCCLK/64
在
Tamper
引脚上输出,
Tamper
功能必
须被禁止
BKP_RTCCalibrationClockOutputCmd(ENABLE);//
允许
RTC
时钟在
Tamper
上输出
#endif
RTC_WaitForSynchro();//
等待寄存器同步
RTC_WaitForLastTask();//
等待上次寄存器写操作完成
RTC_ITConfig(RTC_IT_SEC,ENABLE);//
允许
RTC
秒中断
RTC_WaitForLastTask();//
等待上次寄存器写操作完成
#ifdef RTC_ClockSource_LSI//
设置分频系数
RTC_SetPrescalor(31999);//RTC
周期
=RTCCLK/RTC_PR=(32.000KHz/(31999+1))
#elif define RTC_ClockSource_LSE
RTC_SetPrescaler(32767);// RTC
周期
=RTCCLK/RTC_PR=(32.768KHz/(32767+1))
#endif
RTC_WaitForLastTask();//
等待最近一次对
RTC
寄存器的写操作的完成。
}
RTC_Configuration的更多相关文章
- stm32——RTC实时时钟
stm32——RTC实时时钟 一.关于时间 2038年问题 在计算机应用上,2038年问题可能会导致某些软件在2038年无法正常工作.所有使用UNIX时间表示时间的程序都将将受其影响,因为它们以自19 ...
- 关于STM32 RTC的使用
直接上代码,很爽. 1.RTC的首次初始化问题 使能时钟:RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE) ...
- STM32的备份寄存器和控制状态寄存器
STM32的备份寄存器和控制状态寄存器 1 备份寄存器用于RTC时钟 RTC时钟可以在掉电以后继续计数,保证时间的延续,但是重新上电以后需要配置,保证之前的计数不会被清除,可以借助备份寄存器实现,备份 ...
随机推荐
- 20200513_安装windows sql server 2012 _ ws功能 NetFx3时出错,错误代码:-2146498298
这是没有安装.net Framework 3.5造成的 1. 下载个.net Framework 3.5, 放到任意目录下, 比如C: 2. 打开添加windows 功能 3. 直接下一步: 4. 勾 ...
- 20200203_windows2012下安装mysql 5.7.29
一. 检查系统版本: 二. 下载mysql, 下载地址: https://dev.mysql.com/downloads/mysql/5.7.html#downloads 三. 解压下载后的压 ...
- 4.深入Istio源码:Pilot的Discovery Server如何执行xDS异步分发
转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com 本文使用的Istio源码是 release 1.5. 介绍 Discovery Serv ...
- day6(短信验证接口)
1.注册容联云账号 1.1注册账号 https://www.yuntongxun.com/user/login 1.2登录即可看到开发者账号信息 1.3 添加测试账号 2.使用容联云发送代码测试 ' ...
- springmvc<三> 异常解析链与视图解析链
1.1.7. Exceptions - 如果异常被Controller抛出,则DispatchServlet委托异常解析链来处理异常并提供处理方案(通常是一个错误的响应) spri ...
- PyQt(Python+Qt)学习随笔:Qt中的部分类型QString、QList和指针、引用在PyQt中的实现方式
老猿Python博文目录 老猿Python博客地址 在我们查阅Qt的文档资料时,可以看到Qt中的链表使用的是QList,字符串使用的是QString,但老猿在测试时发现这两个类型PyQt不支持,无法找 ...
- RedHat操作指令第3篇
系统信息 arch 显示机器的处理器架构 uname -m 显示机器的处理器架构 uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) ...
- Making Games with Python & Pygame 中文翻译
Making Games with Python & Pygame 用Pygame做游戏 第1章-安装python和pygame 原文作者:Al Sweigart 翻译:bigbigli/李超 ...
- 题解 CF1375E Inversion SwapSort
蒟蒻语 这题是真的奇妙... 想了好久才想明白. 蒟蒻解 考虑冒泡排序是怎样的. 对于相邻的两个数 \(a_i, a_{i+1}\),如果 \(a_i>a_{i+1}\) 那么就交换两个数. 总 ...
- Vulnhub实战靶场:ME AND MY GIRLFRIEND: 1
一.环境搭建 1.官网下载连接:https://www.vulnhub.com/entry/me-and-my-girlfriend-1,409/ 2.下载之后,使用Oracle VM Virtual ...