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。

如果 timeoutNone,则唤醒定时器将被禁用。

如果给定了 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