[STM32H7] 【STM32H7S78-DK测评】RTC使用

[复制链接]
2320|21
 楼主| chen000000009 发表于 2024-10-8 23:39 | 显示全部楼层 |阅读模式
本文介绍一下STM32H7内置RTC的使用方法
要使用内置RTC,需要引入相关驱动,如果使用HAL库,则需要下面两个文件
519636705521fb0585.png
另外还需要增加相关头文件
接着在main函数使用MX_RTC_InitRTC进行初始化,实现如下
下面是对RTC控制器以及BKP功能进行初始配置的
8504367055224569c3.png
下面是配置一个初始的时间,这里使用了BKP寄存器和时间寄存器会同时掉电的特性,如果有外部RTC电池,则BKP寄存器和时间寄存器都会维持之前的值,如果读到BKP寄存器不是之前的值,说明时间不对,需要重新写一个时间
17626705522c761b5.png
然后读时间可以用HAL_RTC_GetTime HAL_RTC_GetDate,下面代码实现了1s打印一次当前时间的功能
310436705523395d1b.png
烧录到板上,打印如下
1676467055237a3b8d.png

linfelix 发表于 2024-10-11 21:08 | 显示全部楼层
提供的步骤非常清晰,对于初学者来说,按照这个流程可以很容易地学会如何在STM32H7中使用内置RTC。
Stahan 发表于 2024-10-13 22:08 | 显示全部楼层
这个精度高吗
uiint 发表于 2024-10-14 22:54 | 显示全部楼层
在实际应用中,如何选择合适的时钟源?是否有特定的场景或条件需要考虑?
claretttt 发表于 2024-10-15 14:00 | 显示全部楼层
在配置RTC的初始时间时,为什么需要使用BKP寄存器和时间寄存器会同时掉电的特性?
eefas 发表于 2024-10-15 16:29 | 显示全部楼层
如果有多个任务同时读取RTC时间,是否需要考虑同步机制?
maqianqu 发表于 2024-10-17 10:39 | 显示全部楼层
RTC在嵌入式系统中扮演着重要的角色,特别是在需要精确计时或记录系统停机时间的场合。
iyoum 发表于 2024-10-17 15:34 | 显示全部楼层
文档中详细介绍了 STM32H7 内置 RTC 的使用方法,从引入文件到初始化再到时间读取,步骤清晰,对于初学者和有经验的开发者都有很大的帮助。
田舍郎 发表于 2024-10-17 23:32 来自手机 | 显示全部楼层
rtc可以唤醒待机
febgxu 发表于 2024-10-19 17:40 | 显示全部楼层
使用HAL库来操作RTC是一个很好的选择。HAL库提供了丰富的API函数,使得开发者可以更加便捷地实现对RTC的配置和操作。
dspmana 发表于 2024-10-20 08:09 | 显示全部楼层
提供的代码示例展示了清晰的模块化设计,这对于维护和扩展代码非常有帮助。通过将RTC的初始化、配置和时间读取等功能分离成不同的模块,可以提高代码的可读性和可重用性。
jackcat 发表于 2024-10-20 15:30 | 显示全部楼层
STM32H7的RTC有哪些安全机制可以防止时间信息被篡改?
janewood 发表于 2024-10-21 15:31 | 显示全部楼层
重新写入时间的机制是否足够可靠?会不会出现频繁需要重新设置时间的情况?
wengh2016 发表于 2024-10-21 17:07 | 显示全部楼层
在Print_RTC_Time函数中,为什么使用HAL_Delay来实现1秒的延迟?有没有更精确的时间管理方法,例如使用定时器?
deliahouse887 发表于 2024-10-21 18:43 | 显示全部楼层
HAL_RTC_GetTime和HAL_RTC_GetDate函数分别用于获取当前时间和日期。这两个函数的区别在于它们返回的数据结构不同,HAL_RTC_GetTime返回的是RTC_TimeTypeDef结构体,包含了小时、分钟和秒等信息;而HAL_RTC_GetDate返回的是RTC_DateTypeDef结构体,包含了年、月、日和星期等信息。通过分别调用这两个函数,可以完整地获取当前的时间和日期信息。
abotomson 发表于 2024-10-21 22:51 | 显示全部楼层
RTC的时间是如何每秒自动更新的?是否需要编写额外的代码来实现这一功能?
kkzz 发表于 2024-10-23 20:16 | 显示全部楼层
BKP寄存器和时间寄存器具有同时掉电的特性。这是否意味着BKP寄存器可以用于存储一些需要在RTC掉电后仍能保留的关键数据?此外,BKP寄存器的具体作用和使用场景是什么?
adolphcocker 发表于 2024-10-23 21:13 | 显示全部楼层
HAL库提供了很多方便的API来操作硬件,但是在使用这些API时,是否需要深入了解底层寄存器的操作和原理?
cashrwood 发表于 2024-10-23 21:27 | 显示全部楼层
利用 BKP 寄存器和时间寄存器同时掉电的特性来判断时间是否正确,并在需要时重新写入时间,这是一个很巧妙的设计,提高了系统的稳定性和可靠性。
eefas 发表于 2024-10-23 21:57 | 显示全部楼层
在配置RTC时,如果系统断电后重新上电,如何确保RTC的时间不会丢失,特别是在没有外部RTC电池的情况下?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

36

主题

780

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部