stm32F407-------RTC实时时钟

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
STM32F407的RTC实时时钟可以通过以下步骤进行设置: 1. 打开PWR和BKP外设时钟。 2. 配置RTC时钟,使其与LSE低速外部晶振同步。 3. 配置RTC预分频器和计数器,以确定RTC时钟的更新频率。 4. 配置RTC时钟日历,包括时间和日期。 5. 使能RTC时钟和RTC中断,以便在时间更新时进行相应处理。 下面是一个简单的示例代码,用于初始化RTC实时时钟: ```c RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE); // 使能PWR外设时钟 PWR_BackupAccessCmd(ENABLE); // 允许修改RTC寄存器 // 选择LSE作为RTC时钟源 RCC_LSEConfig(RCC_LSE_ON); while (RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET); // 使能RTC外设时钟 RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE); RCC_RTCCLKCmd(ENABLE); // 配置RTC预分频器和计数器 RTC_InitStructure.RTC_AsynchPrediv = 0x7F; // 异步预分频器值 RTC_InitStructure.RTC_SynchPrediv = 0xFF; // 同步预分频器值 RTC_InitStructure.RTC_HourFormat = RTC_HourFormat_24; // 24小时格式 RTC_Init(&RTC_InitStructure); // 配置RTC时钟日历 RTC_DateTypeDef RTC_DateStructure; RTC_TimeTypeDef RTC_TimeStructure; RTC_DateStructure.RTC_Year = 0x21; // 年份 RTC_DateStructure.RTC_Month = RTC_Month_November; // 月份 RTC_DateStructure.RTC_Date = 0x01; // 日 RTC_DateStructure.RTC_WeekDay = RTC_Weekday_Sunday; // 星期几 RTC_SetDate(RTC_Format_BCD, &RTC_DateStructure); RTC_TimeStructure.RTC_Hours = 0x10; // 小时 RTC_TimeStructure.RTC_Minutes = 0x30; // 分钟 RTC_TimeStructure.RTC_Seconds = 0x00; // 秒 RTC_SetTime(RTC_Format_BCD, &RTC_TimeStructure); // 使能RTC中断 RTC_ITConfig(RTC_IT_SEC, ENABLE); NVIC_InitTypeDef NVIC_InitStructure; NVIC_InitStructure.NVIC_IRQChannel = RTC_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); // 使能RTC时钟 RTC_WaitForSynchro(); RTC_Cmd(ENABLE); ``` 在上述代码中,我们首先打开PWR和BKP外设时钟,然后配置RTC时钟使用LSE低速外部晶振。接下来,我们设置RTC的异步预分频器和同步预分频器,以确定RTC时钟的更新频率。然后,我们配置RTC时钟日历,包括时间和日期。最后,我们使能RTC中断,以便在时间更新时进行相应处理,并启用RTC时钟

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

行不地上

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值