0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32CubeMX-实时时钟(RTC)

STM32嵌入式开发 来源:STM32嵌入式开发 2023-01-14 17:24 次阅读

RTC简介

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

新建工程

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

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

在RTC配置中,设置时间和日期,其他为默认设置。此处设置时间为2016/04/16 1649。
999b8872-85ce-11ed-bfe3-dac502259ad0.png     
生成报告以及代码,编译程序。

添加应用程序

在rtc.c文件中可以看到ADC初始化函数。在stm32f7xx_hal_rtc.h头文件中可以看到rtc时间和日期读写操作函数。 99c2dfa8-85ce-11ed-bfe3-dac502259ad0.png

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

/*USERCODEBEGINPV*/
/*Privatevariables--------*/
RTC_DateTypeDefsdatestructure;
RTC_TimeTypeDefstimestructure;
/*USERCODEENDPV*/




在stm32f7xx_hal_rtc.h头文件中,可以找到RTC_TimeTypeDef,RTC_DateTypeDef这两个结构体的成员变量。
99d96b74-85ce-11ed-bfe3-dac502259ad0.png    


在while循环中添加应用程序,读取当前的时间和日期,并通过串口发送到电脑上显示。
/*USERCODEBEGINWHILE*/
while(1)
{
/*USERCODEENDWHILE*/
/*USERCODEBEGIN3*/
/*GettheRTCcurrentTime,mustgettimefirst*/
HAL_RTC_GetTime(&hrtc,&stimestructure,RTC_FORMAT_BIN);
/*GettheRTCcurrentDate*/
HAL_RTC_GetDate(&hrtc,&sdatestructure,RTC_FORMAT_BIN);
/*DisplaydateFormat:yy/mm/dd*/
printf("%02d/%02d/%02d
",2000+sdatestructure.Year,sdatestructure.Month,sdatestructure.Date);
/*DisplaytimeFormat:hhss*/
printf("%02d:%02d:%02d
",stimestructure.Hours,stimestructure.Minutes,stimestructure.Seconds);
printf("
");
HAL_Delay(1000);
}
/*USERCODEEND3*/


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

实验效果

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

99fad08e-85ce-11ed-bfe3-dac502259ad0.png

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 实时时钟
    +关注

    关注

    4

    文章

    210

    浏览量

    65338
  • 计数器
    +关注

    关注

    32

    文章

    2123

    浏览量

    92987
  • 定时器
    +关注

    关注

    23

    文章

    3148

    浏览量

    112041
  • RTC
    RTC
    +关注

    关注

    2

    文章

    484

    浏览量

    65444
  • stm32cubemx
    +关注

    关注

    5

    文章

    260

    浏览量

    14448

原文标题:STM32CubeMX-实时时钟(RTC)

文章出处:【微信号:c-stm32,微信公众号:STM32嵌入式开发】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于STM32CubeMX实时时钟(RTC)配置

    实时时钟 (RTC) 是一个独立的 BCD 定时器/计数器。RTC 提供具有可编程闹钟中断功能的日历时钟 /日历。RTC 还包含具有中断功能
    发表于 03-21 09:36 3082次阅读

    STM32 RTC实时时钟(一)

    STM32处理器内部集成了实时时钟控制器(RTC),因此在实现实时时钟功能时,无须外扩时钟芯片即可构建
    的头像 发表于 07-22 15:41 2875次阅读
    <b class='flag-5'>STM32</b> <b class='flag-5'>RTC</b><b class='flag-5'>实时时钟</b>(一)

    RTC实时时钟简介

    RTC实时时钟1. RTC实时时钟简介2. 硬件设计3. 软件设计3.1 STM32CubeMX设置3.2 MDK-ARM编程4. 下载验证
    发表于 08-18 06:55

    如何去实现STM32实时时钟RTC的时间计算部分

    STM32实时时钟RTC是什么?STM32实时时钟RTC是由哪些部分组成的?如何去实现
    发表于 11-22 06:33

    如何去使用STM32实时时钟RTC

    实时时钟RTC是什么?如何去使用STM32实时时钟RTC呢?有哪些注意事项?
    发表于 11-22 08:05

    RTC是什么?RTC实时时钟实验

    是什么?STM32F4 的实时时钟RTC)相对于 STM32F1 来说,改进了不少,带了日历功能了,STM32F4 的
    发表于 01-13 07:19

    RTC实时时钟怎么使用?

    RTC实时时钟怎么使用?cubemx中如何配置RTC?如何在keil中编写程序?
    发表于 01-18 07:33

    STM32F2技术培训_实时时钟_RTC

    STM32F2 技术培训_实时时钟_RTC
    发表于 12-03 17:35 0次下载

    STM32F0xx_ RTC实时时钟配置详细过程

    STM32F0xx_RTC实时时钟配置详细过程
    的头像 发表于 04-07 11:50 7840次阅读
    <b class='flag-5'>STM32</b>F0xx_ <b class='flag-5'>RTC</b><b class='flag-5'>实时时钟</b>配置详细过程

    STM32CubeMX-实时时钟(RTC)

    本章程序在串口printf工程的基础上修改,复制串口printf的工程,修改文件夹名。点击STM32F746I.ioc打开STM32cubeMX的工程文件重新配置。RTC选择内部唤醒(Internal WakeUp)开启
    的头像 发表于 10-12 14:34 8604次阅读
    <b class='flag-5'>STM32CubeMX-</b><b class='flag-5'>实时时钟</b>(<b class='flag-5'>RTC</b>)

    浅谈RTC实时时钟特征与原理

    一、RTC实时时钟特征与原理 查看STM32中文手册 16 实时时钟RTC)(308页) RTC
    的头像 发表于 06-30 15:54 1.1w次阅读

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

    STM32CubeMX | 40 - 实时时钟RTC的使用(日历和闹钟)
    发表于 11-23 18:06 18次下载
    <b class='flag-5'>STM32CubeMX</b> | 40 - <b class='flag-5'>实时时钟</b><b class='flag-5'>RTC</b>的使用(日历和闹钟)

    stm32f4 RTC实时时钟解析

    中应用最为广泛的消费类电子产品之一。它为人们提供精确的实时时间,或者为电子系统提供精确的时间基准,目前实时时钟芯片大多采用精度较高的晶体振荡器作为时钟源。对于STM32F的
    发表于 12-04 18:06 19次下载
    <b class='flag-5'>stm32</b>f4 <b class='flag-5'>RTC</b><b class='flag-5'>实时时钟</b>解析

    STM32CubeMX系列|RTC实时时钟

    RTC实时时钟1. RTC实时时钟简介2. 硬件设计3. 软件设计3.1 STM32CubeMX设置3.2 MDK-ARM编程4. 下载验证
    发表于 12-24 19:15 16次下载
    <b class='flag-5'>STM32CubeMX</b>系列|<b class='flag-5'>RTC</b><b class='flag-5'>实时时钟</b>

    基于STM32单片机RTC实时时钟使用库文件设计

    基于STM32单片机RTC实时时钟使用库文件设计源代码
    发表于 04-26 14:28 2次下载