我们公司最近在使用STM32L151,我们使用HAL。 发先使用下面的命令设置RTC之后,读出来的时间慢了了一个小时。 HAL_RTC_SetTime(&hrtc,&sTime,RTC_FORMAT_BIN); HAL_RTC_SetDate(&hrtc,&sDate,RTC_FORMAT_BIN); 下面的是我的RTC配置 我换了同一批次的芯片测试,结果一样。 请问这是什么原因,我怎么解决? |
STM32L151使用SPI初始化SD卡时ACMD41报错,怎么解决?
STM32L152进入待机模式1分钟唤醒一次,18个小时后无法唤醒
STM32L151 使用STM32CubeMX配置时,配置定时器2复用功能ETR,不能检测到计数
the STM32L1xx Flash programming manual (PM0062) 这个文档怎么在官网找不到呢
使用stm32L152RCDISCOVER开发板进行串口通信实验为什么接受乱码
STM32L152VDT6 配置Timebase Source为TIM2后异常
stm32l151c8t6的HSE通过MCO输出后测量为4.5M,但是外部时钟是8M(测量也证明确实是8M)
loraDIO引脚中断不起作用
STM32系列内部FLASH模拟EEPROM,烧写程序时设置为读保护Level-2级别,还能正常读写这个模拟的EEPROM吗?
STM32L151通过串口ISP烧写程序,会吧片上EEPROM的数据也清除了
多长时间读取后慢1个小时?还是任何时候读取时总是固定慢1个小时?
看看是否有配置方面原因,再就是注意先读时间后读日期的顺序。
我读取的顺序是这样的:》
HAL_RTC_GetTime(&hrtc, &curTime, RTC_FORMAT_BIN);
HAL_RTC_GetDate(&hrtc, &curDate, RTC_FORMAT_BIN);
不是过一段时间慢了一小时,是写入时间后立即回读,年月日分秒都是正确的。只有时间慢了了一个小时。
比如:我试图设置RTC时间24-02-25 14:20:25:
sDate.Year=24; sDate.Month=02; sDate.Date=25;
sTime.Hours= 14; sTime.Minutes=20; sTime.Seconds=25;
HAL_RTC_SetTime(&hrtc,&sTime,RTC_FORMAT_BIN); HAL_RTC_SetDate(&hrtc,&sDate,RTC_FORMAT_BIN);
然后我立即回读
HAL_RTC_GetTime(&hrtc, &curTime, RTC_FORMAT_BIN);
HAL_RTC_GetDate(&hrtc, &curDate, RTC_FORMAT_BIN);
获得的时间是:
24-02-25 13:20:25
而且RTC在正常走时,我可以连续读取RTC,看到时间在正常变化。只是此后每次读出来的时间,都是慢了一个小时。
小时数值不会变化那么快的。
我也感觉不是走时问题,一定是设置的问题。可以我查了设置,没有找到问题所在。刚刚我用开发板测试了同样的功能,没有前述的慢一小时的问题。
我去跟踪一下看看
[md]有点懵了:
跟踪寄存器的结果,写入的数据和寄存器得到的数据不一样。
要写的是21:54:43
写入之后寄存器是这个样子:
我实在找不到我的设置哪里出问题了(我没有做任何关于夏时制的设置)。
[md]谢谢各位大侠的关心和回复,问题已经解决,确实是代码问题。惭愧