找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3206|回复: 3
打印 上一主题 下一主题
收起左侧

stm32单片机RTC使用HSE时钟

[复制链接]
跳转到指定楼层
楼主
ID:326783 发表于 2020-2-29 21:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
网上关于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 ();
}

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:727366 发表于 2021-3-2 23:28 | 只看该作者
点赞!!!!
回复

使用道具 举报

板凳
ID:1066561 发表于 2023-3-23 10:52 | 只看该作者
为什么 RTC_SetPrescaler (125000)是125000而不是127999?
回复

使用道具 举报

地板
ID:291668 发表于 2023-3-23 14:10 | 只看该作者
时间准否?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表