标题: stm32单片机RTC使用HSE时钟 [打印本页]

作者: LanSeXinQing    时间: 2020-2-29 21:02
标题: stm32单片机RTC使用HSE时钟
网上关于STM32单片机RTC使用HSE时钟的资料很少,一般介绍的都是使用LSE做时钟.现做一个项目,需要一个秒中断
想起用RTC.程序如下.
void Rtc_Config(void){
  RCC_APB1PeriphClockCmd (RCC_APB1Periph_PWR | RCC_APB1Periph_BKP , ENABLE );
  PWR_BackupAccessCmd (ENABLE );
  if(BKP_ReadBackupRegister (BKP_DR1 ) != BKP_VALUE ){
    BKP_DeInit ();
    RCC_RTCCLKConfig (RCC_RTCCLKSource_HSE_Div128 );
    RCC_RTCCLKCmd (ENABLE );
    RTC_WaitForLastTask ();
    RTC_WaitForSynchro ();
    RTC_ITConfig (RTC_IT_SEC ,ENABLE );
    RTC_WaitForLastTask ();
    RTC_EnterConfigMode ();
    RTC_SetPrescaler (125000);
    RTC_WaitForLastTask ();
    RTC_ExitConfigMode ();
    BKP_WriteBackupRegister (BKP_DR1 ,BKP_VALUE );
  }
  else{
    RTC_WaitForSynchro ();
    RTC_ITConfig (RTC_IT_SEC ,ENABLE );
    RTC_WaitForLastTask ();
  }
  Rtc_Nvic_Config ();
}


作者: steve383    时间: 2021-3-2 23:28
点赞!!!!
作者: yezhenwei    时间: 2023-3-23 10:52
为什么 RTC_SetPrescaler (125000)是125000而不是127999?
作者: li64331218    时间: 2023-3-23 14:10
时间准否?




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1