rtc时钟开启后需要等待APB1时钟与RTC时钟同步才能读写寄存器。

RTC_WaitForSynchro()。

/**
  * @brief  Configures the RTC.
  * @param  None
  * @retval None
  */
void RTC_Configuration(void)
{
  /* Enable PWR and BKP clocks */
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);

/* Allow access to BKP Domain */
  PWR_BackupAccessCmd(ENABLE);

/* Reset Backup Domain */
  BKP_DeInit();

/* Enable LSE */
  RCC_LSEConfig(RCC_LSE_ON);
  /* Wait till LSE is ready */
  while (RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET)
  {}

/* Select LSE as RTC Clock Source */
  RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE);

/* Enable RTC Clock */
  RCC_RTCCLKCmd(ENABLE);

/* Wait for RTC registers synchronization */
  RTC_WaitForSynchro();

/* Wait until last write operation on RTC registers has finished */
  RTC_WaitForLastTask();

/* Enable the RTC Second */
  RTC_ITConfig(RTC_IT_SEC, ENABLE);

/* Wait until last write operation on RTC registers has finished */
  RTC_WaitForLastTask();

/* Set RTC prescaler: set RTC period to 1sec */
  RTC_SetPrescaler(32767); /* RTC period = RTCCLK/RTC_PR = (32.768 KHz)/(32767+1) */

/* Wait until last write operation on RTC registers has finished */
  RTC_WaitForLastTask();
}

RTC_WaitForSynchro()相关推荐

  1. 有关stm32单片机外部低速晶振LSE32.768k注意事项;RTC_WaitForSynchro()卡死;

    两种32.768khz晶振区别 第一种是在立创买到的,负载电容是12.5pF:程序一直卡在RTC_WaitForSynchro(); 出不来. 第二种是在淘宝上找到的(板子已经做了,只能找替代方案), ...

  2. (七)STM32的RTC简单操作

    简单说明: /********************************************************************************************* ...

  3. STM32-RTC原理和驱动程序

    文章目录 RTC电路原理图 RTC实现原理 烧录示例文件的hex查看程序效果 添加相应的文件并添加进工程文件 rtc.h/main.c解读 rtc.c解读 杨桃32学习笔记,本文图片文字皆为转述 RT ...

  4. stm32f103 rtc 获取 日历 时钟

    STM32的RTC实现日历功能程序发布时间:2011-09-30 14:53:05   STM32的RTC只有一个32位的计数器用来计时,没有寄存器来存年月日时分秒等.通过设置可以让这个计数器1秒加1 ...

  5. STM32的RTC简单操作

    简单说明: /********************************************************************************************* ...

  6. 关于STM32使用RTC时复位后程序死在 RTC

    在软件仿真时如果不需要配置,则程序会死在 RTC_WaitForSynchro() 函数中.而下载到硬件上时,有时候可以跑,有时候也会在该函数中死循环. 可能的原因: 首先,一定要确认是否使能了对后备 ...

  7. 纠结的STM32 RTC时钟源LSE

    一开始,所有实验都是在神舟板上去完成,根本就没有发现RTC的问题.直到我们自己画板来后调试时,才发现STM32 RTC的外部时钟源存在问题. 这也算是STM32的一个鸡肋,对于LSE外部晶振太过于苛刻 ...

  8. stm32之实时时钟RTC(掉电计时保持、秒中断、闹钟中断、溢出中断)

    前言:stm32系列产品普遍都有实时时钟RTC模块,它提供一个掉电保持计时功能,掉电后由后备供电区域供电.除了提供时间和日期之外,还可以设置闹钟提醒,且可以在待机模式下设置闹钟唤醒系统.在一些小容量. ...

  9. esp32 rtc 时钟设置不对_「STM32」实时时钟(RTC)实验

    实时时钟的特征和原理 RTCCLK:时钟来源 RTC的时钟有哪些来源呢? 如图,有3个渠道 来自于外部的LSE也就是外部的晶振 来自于HSE的128分频 来自于LSI 一般情况下我们都是采用外部晶振来 ...

最新文章

  1. 『转载』Debussy快速上手(Verdi相似)
  2. 【Linux】关于ffmpeg的一些常见用法
  3. 程序员必备:Java 日期处理的十个坑
  4. 手把手入门神经网络系列-2篇-有图有码(转)
  5. MySQL Processlist 讲解
  6. Bailian2713 肿瘤面积【基础】
  7. 思科被发现使用华为代码,解释:忘了删
  8. 有关古文的C语言编程题,文言文考试也编程,文言语言!!!(附c/c++自译)
  9. R语言包的升级与降级
  10. 学习QT之位置相关函数
  11. 插图详解Python解决汉诺塔问题
  12. 愿你与生活交手多年,依然满怀新鲜,
  13. Powerdesigner(16.6) 导出漂亮的word(实用型)
  14. 二维码自动扫描完整版
  15. windows10图片打开找不到内置图片查看器
  16. 1833 雪糕的最大数量
  17. 通过Keras + LSTM训练天气污染程度预测模型
  18. The Frog Prince (青蛙王子) and Hello Kitty (凯蒂猫)
  19. Unity进阶 - 动画系统 - 给人物角色制作动画
  20. c语言如何标志置1与置0,c语言对于文本的基本操作

热门文章

  1. 不改表结构如何动态扩展字段
  2. Redis集群:哨兵(Sentinel)
  3. 守护进程和inetd守护进程
  4. Java 洛谷 P1085 不高兴的津津
  5. 机器人扫地机吸狗毛最好的_狗狗掉毛扫地机不好使?看看人家美国人的评测
  6. 全面收紧!继新加坡后,又一地拟暂停数据中心建设
  7. swiper炫酷_swiper3d横向滚动多张炫酷切换banner
  8. python 下划线转驼峰_json字符串中key值下划线命名转换为驼峰命名
  9. 成功解决 “this version of pandas is incompatible with numpy < 1.15.4\n“ImportError: this version of pand
  10. 成功解决ForkingPickler(file, protocol).dump(obj) TypeError: can‘t pickle Environment objects