stm32 rtc 设置数据不正常

需求 stm32 使用 hal 设置 rtc 时间之后,再读出来发现,年的数据不对,其他数据是正常的。 解决 经过多次调试,发现问题是出现在 weekend 的设置上面。如果不设置 weekend,会导致随即值在左移的时候,会干扰的年份。 在寄存器中 weekend 只有3位,如果 weekend 中的随即值超过 8,就会干扰年份了。 解决的方法也很简单,要不就是用公式计算出 weekend,要不就是直接设置 weekend 为 0 即可。 参考 stm32 - HAL_SetDate 将年份设置为错误的值 使用HAL的RTC库出现年、小时不准确的问题 关于HAL库读写RTC——时间错乱问题整改

<span title='2023-12-30 14:33:00 +0800 CST'>2023-12-30</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;31 words&nbsp;·&nbsp;RamLife

stm32 rtc 读取数据不正常

需求 stm32 使用 hal 读取 rtc 数据时,发现数据读取要不是 0,要不就不变,比较奇怪。 解决 经过多次调试并查看源码,才发现,API的注释里面写了,需要先调用 HAL_RTC_GetTime, 再调用 HAL_RTC_GetDate, 才行,否则就不行。因为先读取 time 可以解锁读取。 =You must call HAL_RTC_GetDate() after HAL_RTC_GetTime() to unlock the values in the higher-order calendar shadow registers to ensure consistency between the time and date values.= 参考 HAL库使用RTC设置时间显示日期不符的解决办法 STM32】HAL库 STM32CubeMX教程十三—RTC时钟 STM32电子万年历制作详解(RTC实战) 【经验分享】STM32实例-RTC实时时钟实验③-RTC设置日期时间函数 【STM32】HAL库 STM32CubeMX教程十三—RTC时钟 STM32H750中RTC简介及使用方法 STM32CubeMX学习笔记——STM32H743_RTC

<span title='2023-12-12 17:44:00 +0800 CST'>2023-12-12</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;51 words&nbsp;·&nbsp;RamLife