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时钟可以在掉电以后继续计数,保证时间的延续,但是重新上电以后需要配置,保证之前的计数不会被清除,可以借助备份寄存器实现,备份 ...
随机推荐
- Cys_Control(二) MButton
一.添加自定义Button 二.Xaml文件自动关联 Custom Control 取名与资源文件相同加.cs文件将自动关联 Themes文件下Generic.xaml引入该控件,用于对外公布样式 & ...
- 第8.31节 Python中使用__delattr__清除属性数据
一. 引言 在前面几节我们介绍了__ getattribute__方法和__setattr__方法,分别实现了实例属性的查询和修改(含定义即新增),作为Python中数据操作必不可少的三剑客get.s ...
- Python字符串学习相关问题
Python中format_map与format字符串格式化的区别 Python中使用f字符串进行字符串格式化的方法 Python中使用百分号占位符的字符串格式化方法中%s和%r的输出内容有何不同? ...
- [BJDCTF 2nd]duangShell 反弹shell
[BJDCTF 2nd]duangShell [BJDCTF 2nd]duangShell 点击进去之后提示我们swp源代码泄露,访问http://xxx/.index.php.swp下载该文件 ...
- sails框架结合mocha的测试环境搭建
一.环境结构 1.首先最底层是操作系统 2.其次在操作系统之上是Node.js的运行环境,和Database 3.再之上就是sail和mocha框架 二.环境搭建 1.首先需要Node.js的运行环境 ...
- Boost UDP Transaction Performance
提高UDP交互性能 这是一篇个人认为非常非常厉害的文章,取自这里.讲述了如何提升UDP流的处理速率,但实际涉及的技术点不仅仅限于UDP.这篇文章中涉及的技术正好可以把前段时间了解的知识串联起来.作者: ...
- WPF中Logical Tree和Visual Tree的区别
The Logical TreeThe logical tree describes the relations between elements of the user interface. The ...
- .net5+nacos+ocelot 配置中心和服务发现实现
最近一段时间 因公司业务需要,需要使用.net5做一套微服务的接口,使用nacos 做注册中心和配置中心,ocelot做网关. 因为ocelot 支持的是consol和eureka,如果使用nacos ...
- uni-app微信小程序登录授权
微信小程序授权是非常简单和常用的功能,但为了方便,还是在此记录一下要点: 首先是需要用到一个授权按钮来触发获取用户信息授权: 关键在于 open-type 为 getUserInfo , 然后有个@g ...
- java中对象的简单解读
对象=属性(int double之类都是变量的属性)+方法(想要实现内容,所做的一套算法) 属性=变量的所有数据 方法(c语言中叫做函数)=算法 总而言之 对象就是 给他所需要的的数据-->& ...