RTCRTC

#include "stm32f10x.h"


void MyRTC_Init(void)
{
    //1.开启PWR和BKP的时钟 使能BKP和RTC的访问
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE);
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_BKP,ENABLE);
    
    PWR_BackupAccessCmd(ENABLE);
    
    //2.开启LSE时钟 并等待LSE时钟启动完成
    //共3个参数 LSE_OFF表示LSE振荡器关闭 LSE_ON表示打开
    //LSE_Bypass 表示时钟旁路 意思是不接晶振 直接从OSC32_IN这个引脚输入一个指定频率的信号当做时钟源
    RCC_LSEConfig(RCC_LSE_ON);
    //等待LSE启动完成
    while(RCC_GetFlagStatus(RCC_FLAG_LSERDY) != SET);
    
    //选择RTCCLK时钟源
    RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE);
    //使能时钟
    RCC_RTCCLKCmd(ENABLE);
    
    //等待同步    函数内部自带while等待 调用即可实现等待效果
    RTC_WaitForSynchro();
    //等待上一次写入操作完成
    RTC_WaitForLastTask();
    
    //要将LSE的32.768KHz频率分频为1分频,其中 减1 是因为计数值包含0
    RTC_SetPrescaler(32768 - 1);//自带进入和退出配置模式的代码      
    RTC_WaitForLastTask();
    
    //给一个32位的秒计数器
    RTC_SetCounter(1672588795);
    RTC_WaitForLastTask();
    
}
 

相关推荐

  1. RTCRTC

    2024-04-30 06:42:03       10 阅读
  2. RTCRTC

    2024-04-30 06:42:03       9 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-30 06:42:03       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-30 06:42:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-30 06:42:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-30 06:42:03       20 阅读

热门阅读

  1. golang垃圾回收

    2024-04-30 06:42:03       11 阅读
  2. Linux 系统中如何将网卡设置为桥接模式

    2024-04-30 06:42:03       10 阅读
  3. C++中,exit(0)和return 0的区别和作用

    2024-04-30 06:42:03       10 阅读