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. 20200513_安装windows sql server 2012 _ ws功能 NetFx3时出错,错误代码:-2146498298

    这是没有安装.net Framework 3.5造成的 1. 下载个.net Framework 3.5, 放到任意目录下, 比如C: 2. 打开添加windows 功能 3. 直接下一步: 4. 勾 ...

  2. 20200203_windows2012下安装mysql 5.7.29

    一.   检查系统版本: 二. 下载mysql, 下载地址: https://dev.mysql.com/downloads/mysql/5.7.html#downloads 三.   解压下载后的压 ...

  3. 4.深入Istio源码:Pilot的Discovery Server如何执行xDS异步分发

    转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com 本文使用的Istio源码是 release 1.5. 介绍 Discovery Serv ...

  4. day6(短信验证接口)

    1.注册容联云账号 1.1注册账号 https://www.yuntongxun.com/user/login  1.2登录即可看到开发者账号信息 1.3 添加测试账号 2.使用容联云发送代码测试 ' ...

  5. springmvc<三> 异常解析链与视图解析链

    1.1.7. Exceptions    - 如果异常被Controller抛出,则DispatchServlet委托异常解析链来处理异常并提供处理方案(通常是一个错误的响应)        spri ...

  6. PyQt(Python+Qt)学习随笔:Qt中的部分类型QString、QList和指针、引用在PyQt中的实现方式

    老猿Python博文目录 老猿Python博客地址 在我们查阅Qt的文档资料时,可以看到Qt中的链表使用的是QList,字符串使用的是QString,但老猿在测试时发现这两个类型PyQt不支持,无法找 ...

  7. RedHat操作指令第3篇

    系统信息 arch 显示机器的处理器架构 uname -m 显示机器的处理器架构 uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) ...

  8. Making Games with Python & Pygame 中文翻译

    Making Games with Python & Pygame 用Pygame做游戏 第1章-安装python和pygame 原文作者:Al Sweigart 翻译:bigbigli/李超 ...

  9. 题解 CF1375E Inversion SwapSort

    蒟蒻语 这题是真的奇妙... 想了好久才想明白. 蒟蒻解 考虑冒泡排序是怎样的. 对于相邻的两个数 \(a_i, a_{i+1}\),如果 \(a_i>a_{i+1}\) 那么就交换两个数. 总 ...

  10. Vulnhub实战靶场:ME AND MY GIRLFRIEND: 1

    一.环境搭建 1.官网下载连接:https://www.vulnhub.com/entry/me-and-my-girlfriend-1,409/ 2.下载之后,使用Oracle VM Virtual ...