新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > STM32L151內部RTC時鐘

        STM32L151內部RTC時鐘

        作者: 時間:2016-11-13 來源:網絡 收藏
        STM32L151系列CPU內置低功耗RTC日歷。RTC時鐘源可以是LSE、LSI、HSE。為了降低功耗,預分頻器被分成兩個預分頻器。一個7為的異步預分頻器,一個13位同步預分頻器。

        Fclk=32768/[(PREDIV_S+1)*(PREDIV_A+1)]

        本文引用地址:http://www.104case.com/article/201611/316443.htm

        void RTC_Config(void)

        {

        RTC_InitTypeDef RTC_InitStruct;

        RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE);

        PWR_RTCAccessCmd(ENABLE);

        #if defined RTC_CLOCK_SOURCE_LSI

        RTC_LSICmd(ENABLE);

        while(RCC_GetFlagStatus(RCC_FLAG_LSIRDY) == RESET);

        RCC_RTCCLKConfig(RCC_RTCCLKSource_LSI);

        #elif defined RTC_CLOCK_SOURCE_LSE

        RTC_LSEConfig(RCC_LSE_ON);

        while(RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET);

        RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE);

        #else #error Please select the RTC Clock Source inside the main.c file

        #endif

        RCC_RTCCLKCmd(ENABLE);

        RTC_WaitForSynchro();

        RTC_InitStruct.RTC_HourFormat = RTC_HourFormat_24;

        RTC_InitStruct.RTC_AsynchPrediv = 0x7F;

        RTC_InitStruct.RTC_SynchPrediv = 0xFF;

        RTC_Init(&RTC_InitStruct);

        }

        void RTC_TimeRegulate(void)

        {

        RTC_TimeTypeDef RTC_TimeStruct;

        RTC_DateTypeDef RTC_DateStruct;

        RTC_TimeStruct.RTC_Hours = 23;

        RTC_TimeStruct.RTC_Minutes = 59;

        RTC_TimeStruct.RTC_Seconds = 59;

        RTC_TimeStruct.RTC_H12 = RTC_H12_AM;

        RTC_SetTime(RTC_Format_BIN,&RTC_TImeStruct);

        RTC_DateStruct.RTC_Year = 12;

        RTC_DateStruct.RTC_Date = 31;

        RTC_DateStruct.RTC_Month = 12;

        RTC_DateStruct.RTC_WeekDay = 1;

        RTC_SetDate(RTC_Format_BIN,&RTC_DateStruct);

        }

        void RTC_TimeShow(unsigned char *pDate)

        {

        RTC_TimeTypeDef RTC_TimeStruct;

        RTC_DateTypeDef RTC_DateStruct;

        RTC_GetTime(RTC_Format_BIN,&RTC_TImeStruct);

        RTC_GetDate(RTC_Format_BIN,&RTC_DateStruct);

        pDate[0] = RTC_TimeStruct.RTC_Hours;

        pDate[1] = RTC_TimeStruct.RTC_Minutes;

        pDate[2] = RTC_TimeStruct.RTC_Seconds ;

        pDate[3] = RTC_DateStruct.RTC_Year;

        pDate[4] = RTC_DateStruct.RTC_Date;

        pDate[5] = RTC_DateStruct.RTC_Month ;

        pDate[6] = RTC_DateStruct.RTC_WeekDay ;

        }



        關鍵詞: STM32L151內部RTC時

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 辽宁省| 定日县| 沅江市| 余庆县| 时尚| 惠水县| 大连市| 北碚区| 长治市| 临朐县| 淮安市| 陇南市| 东海县| 北流市| 丰台区| 盖州市| 铁岭市| 凌海市| 历史| 家居| 米林县| 高青县| 莱州市| 河北区| 和田市| 阳西县| 庆安县| 屏山县| 泊头市| 神农架林区| 共和县| 白山市| 巨野县| 萨嘎县| 阳泉市| 南漳县| 洛阳市| 上蔡县| 景洪市| 瑞丽市| 凯里市|