
RTC的简介 实时时钟(Real-Time Clock),缩写为RTC,它是一种集成电路,一般被称为时钟芯片。在物联网的方向中应用广泛且普遍。设备通过联网,获取获取准确的时间,自己校准RTC的偏差,之后离线了,在本地也能保存一份正常运行的时间参数。 STM32的RTC的简介 STM32中,对于需要高精度计时的应用,我们都会选用32.768K的时钟晶振。原因是32768是2的十五次方,经过时钟15分频后,刚好得到一个1Hz的计数器。 用WB55RTC的Demo程序简单测试: 打开wb55的库,发现里面就有RTC的示例代码,在calendar示例代码中,用变量 厘清RTC驱动需要的流程和逻辑。 编写一个OLED可直接显示的RTC代码。用变量 点击仿真进入仿真界面,在watch中可以看到要观察的两个变量 全速运行代码: 可以发现日期的初始化代码需要调整,以外其它功能一切正常,断电后RTC也能够继续工作。 如果想把wb55的RTC功能添加到自己的项目上,可见是非常简单的,只需要修改年月日时间的参数。 打开示例代码中的.ioc文件,如下,修改年月日时间参数。 在cube界面,可以看到日历功能已经封装好了,只需要使能。接下来,生成代码,重新编译运行,下载代码进wb55,调试,全速运行 如果发现时间没有变化,还是上一次的值,很有可能是因为第一次上电运行程序已经把一个值保存到了备份寄存器,这个值没有被修改。我们需要修改的地方在MX_RTC_Init中,在这个方法中,初始化RTC外设,并且设置日历的初始值。初始值是否修改依据的是备份域寄存器的半字是否被是某个用户定义的值,如果是则不予修改,认为时间是已经经过初始化过的了。我们通过cubemx重新生成代码,但是这个用户定义的半字没有经过修改,所以我们写的值不起作用。 修改方法就是把原来程序中的0x32F2换成任意一个其他值。下面换成了0x32F1
|
【NUCLEO-U083RC评测】SLEEP_MODE、STOP_MODE、STANDBY_MODE简要测试
【NUCLEO-U083RC评测】⑥RTC
【NUCLEO-U083RC评测】⑨电子墨水屏RTC低功耗日历Demo
【STM32N6570-DK评测】2.最简点灯
【Wio Lite AI视觉开发套件】+移植TensorFlow Lite
【STM32C0评测】GPIO测试:使用外部中断控制小灯点亮熄灭
STM32N6坛友评测出炉,来围观(第二波预约继续)
【STM32N6570-DK评测】7.探索STM32 ISP IQTune
【STM32N6570-DK评测】4.800MHz的点灯
【STM32N6570-DK评测】3.从外部flash启动