BUG? RTC的设置问题

Viewed 195

重现步骤

以下代码:
from machine import RTC

rtc = RTC()
rtc.datetime((2020, 1, 21, 12, 10, 32, 36,0))
print(rtc.datetime())

理论上应该输出的是
(2020, 1, 21, 12, 10, 32, 36, 11000)
实际输出的是
(2020, 1, 21, 1, 10, 32, 36, 11000)

这个hour始终不对,其他都是对的。

理论上的定义应该是这样,但是实际并没有生效
(year, month, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]])

所以只能怀疑是系统上存在问题。

软硬件版本信息

k230,嘉立创版本

错误日志

尝试解决过程

hour的输出会随着month的值不规律变化,

补充材料

2 Answers

你好,这个函数的参数定义是
(year, month, day, weekday, hours, minutes, seconds, subseconds)

谢谢,难怪。http://www.micropython.com.cn/en/latet/library/machine.RTC.html 上是没有这个weekday的。

RTC已经被我改了,但是创建文件依旧相差8个小时。

"设置和维护实际日历时间的工作由操作系统或 RTOS 负责,并且是在 MicroPython 之外完成的,MicroPython 只通过操作系统的 API 查询日期和时间。"
这段话的意思是我哪怕设置了RTC也是无法改变系统时间的吗?

如果这段话成立,那么utime.ntp_sync() 又是如何完成修改时间的?

你好,ntp_sync是通过调用系统功能来完成的同步,