class RTC – 实时时钟¶
RTC 是一个独立的时钟,用于跟踪日期和时间。
示例用法:
rtc = machine.RTC()
rtc.datetime((2020, 1, 21, 2, 10, 32, 36, 0))
print(rtc.datetime())
构造¶
- class machine.RTC(id=0, ...)¶
创建一个 RTC 对象。有关初始化的参数,请参见 init 方法。
方法¶
- RTC.datetime([datetimetuple])¶
获取或设置 RTC 的日期和时间。
没有参数时,此方法返回一个包含当前日期和时间的8元组。带有1个参数(是一个8元组)时,它设置日期和时间。
8 元组具有以下格式:
(年, 月, 日, 星期, 小时, 分钟, 秒, 子秒)
subseconds
字段的含义依赖于硬件。
- RTC.init(datetime)¶
初始化RTC。Datatime是以下形式的元组:
(年, 月, 日[, 小时[, 分钟[, 秒[, 微秒[, 时区信息]]]]])
- RTC.now()¶
获取当前的日期时间元组。
- RTC.deinit()¶
将 RTC 重置为 2015 年 1 月 1 日的时间,并重新开始运行。
- RTC.alarm(id, time, *, repeat=False)¶
设置 RTC 警报。时间可以是毫秒值,以便将警报编程为当前时间 + 未来的 time_in_ms,或者是一个 datetimetuple。如果传递的时间是以毫秒为单位的,可以将 repeat 设置为
True
以使警报周期性地响起。
- RTC.alarm_left(alarm_id=0)¶
获取警报过期前剩余的毫秒数。
- RTC.cancel(alarm_id=0)¶
取消正在运行的警报。
- RTC.irq(*, trigger, handler=None, wake=machine.IDLE)¶
创建由实时时钟警报触发的irq对象。
trigger
必须是RTC.ALARM0
handler
是触发回调时要调用的函数。wake
指定此中断可以唤醒系统的睡眠模式。
- RTC.memory([data])¶
RTC.memory(data)
将 data 写入 RTC 内存,其中 data 是支持缓冲区协议的任何对象(包括bytes
、bytearray
、memoryview
和array.array
)。RTC.memory()
读取 RTC 内存并返回一个bytes
对象。写入 RTC 用户内存的数据在重启后保持持久,包括
machine.soft_reset()
和machine.deepsleep()
。默认情况下,ESP32 上的 RTC 用户内存最大长度为 2048 字节,ESP8266 上为 492 字节。
可用性:ESP32、ESP8266 端口。
常量¶
- RTC.ALARM0¶
irq触发源