注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
damiaa的个人空间 https://home.eeworld.com.cn/space-uid-59433.html [收藏] [复制] [分享] [RSS]
日志

【NUCLEO H533RE】之五 时钟功能测试

已有 715 次阅读2024-8-4 18:25 |个人分类:STM32

【NUCLEO H533RE】之五 时钟功能测试
一、打开stm32cubeide,配置时钟
RCC配置HSE和LSE 外部晶体
RTC选择Activate Clock Source(时钟源)和 Activate Calendar(日历)
检查时钟配置(Clock Config) 选LSE
时钟和日历,可以在这里配置,也可以在运行时设置
加入闹钟,下面就会出现闹钟的一些参数,可以在这里配置,也可以在运行时设置
闹钟的中断也可以选择
32.768的外部时钟就连接到RTC了,时钟日历也配置好了。
二、生成代码介绍
选择后保存产生代码。
main.c中就有了
rtc结构句柄
RTC_HandleTypeDef hrtc;
rtc初始化函数
如果勾了中断 xxxxx_it.c就有报警中断的添加
我们还可以调用rtc的其他函数
三、加入代码
因为选择了报警中断A,如果要处理这个中断主程序中就要添加这个回调函数(选择了其他中断就要加入其他中断的回调函数)。
void HAL_RTC_AlarmAEventCallback(RTC_HandleTypeDef *hrtc)
{
}
如果选择了报警B或其他中断也是和这类似的处理。
关于回调函数,ST还提供了一个HAL_RTC_RegisterCallback来注册自己的回调函数,但还要配置USE_HAL_RTC_REGISTER_CALLBACKS 为1 .这个麻烦。还不如使用同名的回调函数省事。其实其他中断也有这操作 比如串口什么的。
关于时间和日历的设置,初始化里面有了,可以搬来照抄。
如何读出时间和日历,这个我们在stm32H5xx_hal_rtc.c里面都可以找到它们的原型。
最后在主程序中加代码
  1. 初始化中就设置了时间,日期,报警等等.
  2. 做一个串口读的命令解析:
    读时间getdt +回车(0x0d)
    设置时间sett 12 30 09 +回车(0x0d)
    设置日期setd 2 08 02 2024 +回车(0x0d)
    设置报警seta 11 35 00 1+回车(0x0d)
  3. 回调函数中加入读命令解析程序,如果有读命令,做个标记。
  4. 主程序中处理串口数据
  5. 发现有数据回应串口数据应答。
编译下载调试,实验验证:
谢谢

本文来自论坛,点击查看完整帖子内容。

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章