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的更多相关文章

  1. stm32——RTC实时时钟

    stm32——RTC实时时钟 一.关于时间 2038年问题 在计算机应用上,2038年问题可能会导致某些软件在2038年无法正常工作.所有使用UNIX时间表示时间的程序都将将受其影响,因为它们以自19 ...

  2. 关于STM32 RTC的使用

    直接上代码,很爽. 1.RTC的首次初始化问题 使能时钟:RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE) ...

  3. STM32的备份寄存器和控制状态寄存器

    STM32的备份寄存器和控制状态寄存器 1 备份寄存器用于RTC时钟 RTC时钟可以在掉电以后继续计数,保证时间的延续,但是重新上电以后需要配置,保证之前的计数不会被清除,可以借助备份寄存器实现,备份 ...

随机推荐

  1. 第3章 Python的数据类型 第3.1节 功能强大的 Python序列概述

    一.概述 序列是Python中最基本的数据结构,C语言中没有这样的数据类型,只有数组有点类似,但序列跟数组差异比较大. 序列的典型特征如下: 序列使用索引来获取元素,这种索引方式适用于所有序列: 序列 ...

  2. PyQt(Python+Qt)学习随笔:QMdiArea多文档界面区域的viewMode、documentMode、tabsClosable、tabPosition等属性介绍

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 viewMode属性用于控制子窗口是使用子窗口模式(QMdiArea. ...

  3. [BJDCTF2020]ZJCTF,不过如此 php伪协议, preg_replace() 函数/e模式

    转自https://www.cnblogs.com/gaonuoqi/p/12499623.html 题目给了源码 <?php error_reporting(0); $text = $_GET ...

  4. SQLMap使用指北

    简介 sqlmap是一个开源的渗透测试工具,可以用来进行自动化检测,利用SQL注入漏洞,获取数据库服务器的权限.它具有功能强大的检测引擎,针对各种不同类型数据库的渗透测试的功能选项,包括获取数据库中存 ...

  5. Java进阶学习之集合与泛型(1)

    目录 1.集合 1.1.集合是什么 1.2.集合框架结构 1.2.1.Collection 1.2.2.Map 1.3.集合接口实现类 1.3.1.LinkedList 1.3.2.ArrayList ...

  6. 认识 Cargo-Rust构建工具和包管理器

    认识 Cargo-Rust构建工具和包管理器 上两篇文章 都有说到 hello world 程序,但是我们如果使用自己创建文件的方式创建项目,一旦文件多了,那得多麻烦,整个项目将变得难以管理.下面我来 ...

  7. 美国SEC主席离任,Panda Global 前瞻数字资产监管政策变化

    在上上个周末,也就是6月20号,美国的证券行业发生了一件值得反复回味的的事情--美国SEC现任主席Jay Clayton宣布即将离任,对于数字资产行业而言,未来监管政策将如何演变突然有了无限的遐想空间 ...

  8. stringbuilder和stringbuffer速度比较

    同样的代码,只改了类型,分别为stringbuilder和stringbuffer,只比较一下,执行引擎为hive. 当数据量为100000条,string builder耗时280秒,stringb ...

  9. vscode 编辑python文件

    1 安装python 自动姿势 Chinese # 换成中文 path Autocomplete 路径自动补全 Vetur vue文件补全 配置文件 首选项-设置 应用程序 在 seyying.jso ...

  10. redis位操作

    setbit 设置指定key的偏移量处的值 key:键值 offset:二进制数据的偏移量(注意从左开始为第0位) value:要设置的值(0或1) getbit 获取对应key的offset处的值 ...