class RTC – 实时时钟¶
RTC 是一个独立的时钟,用于跟踪日期和时间。
示例用法:
rtc = pyb.RTC()
rtc.datetime((2014, 5, 1, 4, 13, 0, 0, 0))
print(rtc.datetime())
构造¶
- class pyb.RTC¶
创建一个 RTC 对象。
方法¶
- RTC.datetime([datetimetuple])¶
获取或设置 RTC 的日期和时间。
当没有参数时,此方法返回一个包含当前日期和时间的 8 元组。当有 1 个参数时(为 8 元组),它设置日期和时间(并将
subseconds
重置为 255)。8 元组具有以下格式:
(年, 月, 日, 星期, 小时, 分钟, 秒, 子秒)
weekday
表示星期一到星期日的值为 1-7。subseconds
从 255 倒数到 0
- RTC.wakeup(timeout, callback=None)¶
将 RTC 唤醒定时器设置为每隔
timeout
毫秒触发一次。此触发器可以从睡眠状态:pyb.stop()
和pyb.standby()
中唤醒 pyboard。如果
timeout
是None
,则唤醒定时器将被禁用。如果给定了
callback
,则它将在每次唤醒定时器触发时执行。callback
必须只接受一个参数。
- RTC.info()¶
获取有关启动时间和复位源的信息。
较低的 0xffff 是 RTC 启动所花费的毫秒数。
如果发生了上电复位,则位0x10000被置位。
如果发生了外部复位,则位0x20000被置位
- RTC.calibration(cal)¶
获取或设置RTC校准。
当没有参数时,
calibration()
返回当前校准值,该值为范围在 [-511 : 512] 的整数。当有一个参数时,它设置 RTC 校准。RTC 平滑校准机制通过在 32 秒期间(对应 2^20 个时钟周期)从 32768 Hz 时钟中添加或减去给定数量的时钟周期来调整 RTC 时钟速率。每个添加的时钟周期会使时钟快速移动 2^20 中的一部分,或 0.954 ppm;同样,RTC 时钟减慢为负值。可用的校准范围为:(-511 * 0.954) ~= -487.5 ppm 到 (512 * 0.954) ~= 488.5 ppm