zoukankan      html  css  js  c++  java
  • 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

    寄存器的写操作的完成。

     

    }

  • 相关阅读:
    SAP OPEN UI5 Step 8: Translatable Texts
    SAP OPEN UI5 Step7 JSON Model
    SAP OPEN UI5 Step6 Modules
    SAP OPEN UI5 Step5 Controllers
    SAP OPEN UI5 Step4 Xml View
    SAP OPEN UI5 Step3 Controls
    SAP OPEN UI5 Step2 Bootstrap
    SAP OPEN UI5 Step1 环境安装和hello world
    2021php最新composer的使用攻略
    Php使用gzdeflate和ZLIB_ENCODING_DEFLATE结果gzinflate报data error
  • 原文地址:https://www.cnblogs.com/liufang/p/3728764.html
Copyright © 2011-2022 走看看