
今天来玩一下STM32U0的RTC,后续想用U0做一个电子墨水屏的日历,正好要用到RTC,今天就先来摸一摸RTC是怎么玩的 工程还是使用之前的模板工程 一、cube配置 开启RTC,把时钟源和日历都激活 ![]() 下面配置的参数基本上可以保持默认。这里面主要会改的参数是 ![]() 其他参数保持默认即可 我这边年月日时分秒周几就偷个懒直接用默认的,待会儿我会尝试调用set函数改变其值,因为在实际使用时RTC都要用户自己去设置一下时间才正确 然后把时钟改一下,这个工程之前没有启动外部低速晶振,用的是内部RC产生的LSI,为了RTC更准一点,我要把外部32.768K晶振用起来。然后这边选择RTC Only的这个,因为我没有其他东西要用外部低速晶振,选这个可以在休眠时功耗更低 ![]() ![]() 最后生成代码(截图略) 二、代码修改 先来写一个获取RTC信息并打印的函数
![]() 这边需要注意的是,HAL_RTC_GetTime和HAL_RTC_GetDate都要调用,不能只调用其中一个,如果只调用其中一个,那么后续再次调用get时间也不会更新,会一直获取到和第一次一样的数据 把这个函数放到while1中,然后再加个delay,避免一直疯狂打印
![]() 然后编译下载,效果如下 ![]() 然后我们来试一下重新设置年月日、时分秒、周几参数 写一个设置的函数
![]() 然后在while1中把它用一下,我上电后会让默认的RTC值连续打印10次,然后改变RTC的值,之后继续打印RTC的值
![]()
![]() 然后下载,运行结果如图 ![]() 本次测试的工程:
![]() |
STM32U0_RTC_test.rar
下载5.18 MB, 下载次数: 3
【P-NUCLEO-53L8A1评测】不同距离和光强的测试
STM32N6坛友评测出炉,来围观(第二波预约继续)
【STM32C0评测】GPIO测试:使用外部中断控制小灯点亮熄灭
【STM32C0测评】Nucleo-C092开发板功耗测试
【STM32C0测评】Nucleo-C092开发板IIC通信测试(硬件IIC)
【STM32C0测评】Nucleo-C092开发板IIC通信测试(软件IIC)
【STM32C0测评】Nucleo-C092开发板IIC通信测试(硬件软件IIC一网打尽)
【STM32C0测评】Nucleo-C092开发板USART串口测试
【STM32N6570-DK评测】2.最简点灯
【STM32C0测评】Nucleo-C092开发板使用PWM控制板载LED呼吸灯
感谢分享