登录/注册

STM32CUBEMX教程 RTC

STM32CUBEMX教程 RTC

更多

以下是使用STM32CubeMX配置RTC的简明教程:


步骤1:创建工程并选择MCU

  1. 打开STM32CubeMX,点击 File > New Project
  2. 在搜索栏输入您的STM32型号(如STM32F407VG),双击选中,进入配置界面。

步骤2:配置时钟源

  1. 启用RTC时钟源

    • Pinout & Configuration 标签页左侧,找到 RTC 模块。
    • 勾选 Activate Clock Source
    • 选择时钟源:
      • LSE(外部低速晶振,推荐32.768kHz):精度高,需硬件支持。
      • LSI(内部低速RC振荡器):无需外部元件,精度较低。
  2. 时钟树配置(可选):

    • 若使用LSE,需在 Clock Configuration 标签页确认 LSE 已启用,并检查分频系数(通常保持默认)。

步骤3:设置RTC参数

  1. 基本配置

    • RTC 配置页面,设置:
      • Hour Format:选择12小时或24小时制。
      • DateTime:设置初始日期和时间。
  2. 预分频器

    • 同步预分频器(Sync Predivider)和异步预分频器(Async Predivider)的值需满足: [ (Async_Prediv + 1) \times (Sync_Prediv + 1) = 时钟源频率(Hz) ] 例如,使用32.768kHz LSE时:
      • Async Prediv = 127
      • Sync Prediv = 255 结果为 ( (127+1) \times (255+1) = 32768 )。
  3. 闹钟配置

    • 勾选 Activate Alarm,设置触发时间和日期。
    • 选择闹钟中断(Alarm A或B)。
  4. 启用中断

    • NVIC Settings 中勾选 RTC AlarmRTC Wakeup 中断。

步骤4:生成代码

  1. 点击 Project Manager,设置工程名称和路径。
  2. 选择IDE(如Keil、STM32CubeIDE等)。
  3. 点击 Generate Code 生成代码。

步骤5:编写用户代码

  1. 初始化RTC(自动生成):

    • CubeMX已生成 MX_RTC_Init(),在 main() 中自动调用。
  2. 读写时间/日期

    RTC_TimeTypeDef currentTime;
    RTC_DateTypeDef currentDate;
    
    // 获取时间
    HAL_RTC_GetTime(&hrtc, &currentTime, RTC_FORMAT_BIN);
    // 获取日期
    HAL_RTC_GetDate(&hrtc, &currentDate, RTC_FORMAT_BIN);
    
    // 设置时间
    currentTime.Hours = 12;
    currentTime.Minutes = 0;
    currentTime.Seconds = 0;
    HAL_RTC_SetTime(&hrtc, &currentTime, RTC_FORMAT_BIN);
  3. 处理闹钟中断

    • stm32xxxx_it.c 中找到 RTC_Alarm_IRQHandler(),调用 HAL_RTC_AlarmIRQHandler()
    • 重写回调函数:
      void HAL_RTC_AlarmAEventCallback(RTC_HandleTypeDef *hrtc) {
      // 用户处理逻辑(如点亮LED)
      }

步骤6:备份域配置


常见问题

  1. RTC不工作

    • 检查LSE/LSI是否启用,硬件是否连接正确(如纽扣电池)。
    • 确认备份域已解除写保护。
  2. 时间误差大

    • 使用LSE时,确保晶振匹配电容正确。
    • 若用LSI,可通过 HAL_RTCEx_SetSmoothCalib() 校准。

通过以上步骤,您可以在STM32CubeMX中快速配置RTC,并实现定时、闹钟等功能。

STM8CubeMXSTM32CubeMX功能一样吗?

STM8CubeMX和STM32CubeMX功能一样吗?

2023-10-31 16:59:05

基于STM32U5 的 STM32CubeMX环境搭建

基于STM32U5 的 STM32CubeMX环境搭建

2023-09-21 17:35:00

STM32CubeMx入门教程(4):PWM应用

导语“使用STM32CubeMx配置定时器输出PWM波,生成初始化代码。”

2023-07-11 15:23:59

STM32CubeMX系列|RTC实时时钟

RTC实时时钟1. RTC实时时钟简介2. 硬件设计3. 软件设计3.1 STM32CubeMX设置3.2 MDK-ARM编程4. 下载验证

资料下载 哈哈哈 2021-12-24 19:15:46

STM32CubeMX 窗口及工具介绍

STM32CubeMX 系列教程之 STM32CubeMX 窗口及 STM32PackCreator 工具介绍,内附详细图文介绍。

资料下载 佚名 2021-12-14 18:51:19

STM32CubeMX | 基于STM32使用HAL库驱动RTC时钟及闹钟功能

于周期性低功耗的需求,例如让RTC闹钟提醒事件的中断唤醒处于低功耗模式的单片机,让单片机采集完数据之后再次进入低功耗,这样周期执行以达到省电的目的。)(一)工程配置我使用STM32F103RB这一款MCU,首先使用

资料下载 王强 2021-12-06 09:21:15

STM32CubeMX | 40 - 实时时钟RTC的使用(日历和闹钟)

STM32CubeMX | 40 - 实时时钟RTC的使用(日历和闹钟)

资料下载 李娜 2021-11-23 18:06:59

STM32cubeMX的串口使用教程免费下载

本文档的主要内容详细介绍的是STM32cubeMX的串口使用教程免费下载。

资料下载 佚名 2019-12-03 11:31:50

STM32CubeMX简介和安装使用方法

STM32CubeMX 是 ST 意法半导体近几年来大力推荐的STM32 芯片图形化配置工具,目的就是为了方便开发者, 允许用户使用图形化向导生成C 初始化代码,可以大大减轻开发工作,时间和费用,提高开发效率。

2023-06-07 15:43:00

STM32CUBEMX(4)--GPIO输出

本篇文章主要介绍如何使用STM32CubeMX对红外波形进行GPIO输出,并LED显示。

2022-11-14 15:43:19

STM32CUBEMX(1)--PWM

本篇文章主要介绍如何使用STM32CubeMX输出PWM,并制作呼吸灯效果。

2022-11-14 15:29:15

STM32CubeMX-实时时钟(RTC)

本章程序在串口printf工程的基础上修改,复制串口printf的工程,修改文件夹名。点击STM32F746I.ioc打开STM32cubeMX的工程文件重新配置。

2020-10-12 14:34:32

浅谈stm32cubemx安装教程

STM32CubeMX介绍、下载与安装

2020-03-25 10:57:42

STM32CubeMX介绍、 下载与安装

STM32CubeMX介绍、下载与安装

2020-03-24 10:57:12

关于STM32CubeMX重大升级

STM32CubeMX重大升级

2020-03-04 14:05:12

7天热门专题 换一换
相关标签