STM32CubeMX实时时钟(RTC)配置详解
0 2023-09-25

RTC简介

实时时钟 (RTC) 是一个独立的 BCD 定时器/计数器。RTC 提供具有可编程闹钟中断功能的日历时钟 /日历。RTC 还包含具有中断功能的周期性可编程唤醒标志。系统可以自动将月份的天数补偿为 28、29(闰年)、30 和 31 天。只要芯片的备用电源一直供电,RTC上的时间会一直走。

新建工程

本章程序在串口printf工程的基础上修改,复制串口printf的工程,修改文件夹名。点击STM32F746I.ioc打开STM32cubeMX的工程文件重新配置。RTC选择内部唤醒(Internal WakeUp)开启RTC。开启外部低速晶振,PC14,PC15配置。

RTC时钟选择为外部低速晶振(LSE),频率为32.768。

在RTC配置中,设置时间和日期,其他为默认设置。此处设置时间为2016/04/16 16:25:49。

生成报告以及代码,编译程序。

添加应用程序

在rtc.c文件中可以看到ADC初始化函数。在stm32f7xx_hal_rtc.h头文件中可以看到rtc时间和日期读写操作函数。

从操作函数中可以看到,时间和日期是以结构体的形式读写的。所以在main.c文件前面申明两个结构体变量存储读取的时间和日期数据。

/* USER CODE BEGIN PV *//* Private variables --------*/RTC_DateTypeDef sdatestructure;RTC_TimeTypeDef stimestructure;/* USER CODE END PV */

在stm32f7xx_hal_rtc.h头文件中,可以找到RTC_TimeTypeDef,RTC_DateTypeDef这两个结构体的成员变量。

在while循环中添加应用程序,读取当前的时间和日期,并通过串口发送到电脑上显示。

/* USER CODE BEGIN WHILE */while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */ /* Get the RTC current Time ,must get time first*/ HAL_RTC_GetTime(&hrtc, &stimestructure, RTC_FORMAT_BIN); /* Get the RTC current Date */ HAL_RTC_GetDate(&hrtc, &sdatestructure, RTC_FORMAT_BIN); /* Display date Format : yy/mm/dd */ printf("%02d/%02d/%02d\r\n",2000 + sdatestructure.Year, sdatestructure.Month, sdatestructure.Date); /* Display time Format : hh:mm:ss */ printf("%02d:%02d:%02d\r\n",stimestructure.Hours, stimestructure.Minutes, stimestructure.Seconds); printf("\r\n"); HAL_Delay(1000);}/* USER CODE END 3 */

程序中使用HAL_RTC_GetTime(),HAL_RTC_GetDate()读取时间和日期,并保存到结构体变量中,然后通过串口输出读取的时间和日期。注意:要先读取时间再读取日期,如果先读取日期在读取时间会导致读取的时间不准确,一直都是原来设置的时间。

实验效果

编译程序并下载到开发板。打开串口调试助手。设置波特率为115200。串口助手上会显示RTC的时间日期。


声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 相关技术文库
  • 电源
  • DC
  • AC
  • 稳压
  • 如何增加AC-DC电源掉电保持时间?

    ACDC开关电源有一项重要的技术参数——掉电保持时间,指从AC掉电到输出电压下降到精度范围(通常是-2%)之

    5小时前
  • 设计MOS管H桥电机驱动电路、元器件、原理

    为了进一步驱动电流,两个通道是平行的。如果频率更高,则栅极驱动器必须更强。SPDT 开关用于选择控制路径的 H 桥支路。H 桥是电路的功能组件,它控制电机。

    5小时前
  • 一个I/O口实现检测多个按键的方法呢?

    使用ADC检测多个按键时,按键之间的电压间隔最好相近,而且范围较宽,这样设计误差会更小一些。

    5小时前
  • MOS管电路参数测试方法

    MOS管电路三个引脚的确认G极:栅极,最好认的。S极:源极,不论是P沟道还是N沟道,两根线相交的就是。D极:

    5小时前
  • DC-DC降低纹波噪声的三种有效方法和原理

    1、纹波的定义纹波是指在直流电压或电流上,有规律的叠加在直流稳定量上的交流分量。现实中的电压和电流并不是完全

    昨天
  • 防浪涌器件:TVS二极管

    1:Pppm最大峰值脉冲功率 600W,通过10/1000us波形测试得到(Single Die)。这个参数

    昨天
  • 整流与滤波电路

    一、 整流与滤波电路整流电路的任务是利用二极管的单向导电性,把正、负交变的50Hz电网电压变成单方向脉动的直

    昨天
  • 你知道开关电源是如何实现稳压输出的吗?

    PWM控制意思是通过“斩波”的方式,把电压斩成幅值等于输入电压幅值的脉冲电压来实现的,而脉冲的占空比由开关电源的控制器来调节,当输出入电压大于所需电压时候,MOS管导通或者关断使输入电压输入或关断从而使输出电压维持在恒定

    昨天
  • LM317组成各种稳压器,如恒流、恒压、恒功率、恒温等,以及其应用案例分析

    目录1.自适应可调稳压电源电路2.0~±30V、1.5A电源电路3.电子变压稳压电源电路4.1.25~37V可调电源电路5.恒流并联稳压电源电路6.分挡可调直流稳压电源电路7.5A恒流稳压电源电路8.触摸控制稳压电源9.1.25V~30V连续可...

    前天
  • LM358的PWM滤波实现数模转换电路设计和理论分析

    目录1.PWM滤波的理论分析2. LM358特性3.电路设计3.1隔离电路3.2滤波电路3.3偏置电路3.4 放大电路总结  基于脉宽调制(PWM)波形的频谱理论分析,针对交流伺服电机实现速度闭环控制需要(±10)V模拟信号输入的要求,本...

    前天
  • LM2576的MCU电源设计步骤和注意事项

    目录1.LM2576简介2.应用设计3.工作模式可控应用设计结束语  微控制单元(Microcontroller Unit;MCU) ,又称单片微型计算机(Single Chip Microcomputer )或者单片机,是把中央处理器(Central Process Unit;CPU)的...

    前天
  • LM2576构成的高效开关电源电路工作原理和效率

    目录1.LM2576概述2.电路原理  众所周知,一个性能优良的电源,是所有电子设备的能源保障。现在电子技术发展迅猛,对电源的要求更趋苛刻,特别是一些大电流、宽电压输入范围之电源更是如此。原来的串联稳压电源由于...

    前天
下载排行榜
更多
评测报告
更多
广告