您的位置 首页 制造

STM32L151内部RTC时钟

STM32L151系列CPU内置低功耗RTC日历。RTC时钟源可以是LSE、LSI、HSE。为了降低功耗,预分频器被分成两个预分频器。一个7为的异步预分频器,…

STM32L151系列CPU内置低功耗RTC日历。RTC时钟源可所以LSE、LSI、HSE。为了下降功耗,预分频器被分红两个预分频器。一个7为的异步预分频器,一个13位同步预分频器。

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

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 ;

}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/zhizao/273062.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部