class RTC -- リアルタイムクロック

RTC は、日付と時刻を追跡する独立したクロックです。

使用例:

rtc = pyb.RTC()
rtc.datetime((2014, 5, 1, 4, 13, 0, 0, 0))
print(rtc.datetime())

コンストラクタ

class pyb.RTC

RTC オブジェクトを作成します。

メソッド

datetime(datetimetuple: Tuple[int, int, int, int, int, int, int, int] | None = None) Tuple[int, int, int, int, int, int, int, int] | None

RTC の日付と時刻を取得または設定します。

引数なしの場合、このメソッドは現在の日付と時刻を含む 8 要素のタプルを返します。1 つの引数(8 要素のタプル)を指定すると、日付と時刻を設定します(そして subseconds は 255 にリセットされます)。

8 要素のタプルは次の形式です:

(year, month, day, weekday, hours, minutes, seconds, subseconds)

weekday は月曜日から日曜日まで 1〜7 です。

subseconds は 255 から 0 までカウントダウンします。

wakeup(timeout: int | None, callback: Callable[[RTC], None] | None = None) None

RTC ウェイクアップタイマーを設定して、timeout ミリ秒ごとに繰り返しトリガーするようにします。このトリガーは、pyb.stop()pyb.standby() の両方のスリープ状態からボードをウェイクアップできます。

timeoutNone の場合、ウェイクアップタイマーは無効になります。

callback が指定された場合、ウェイクアップタイマーがトリガーされるたびに実行されます。callback は、ウェイクアップを発火させた RTC インスタンスという、ちょうど 1 つの引数を取る必要があります。

info() int

起動時間とリセット元に関する情報を取得します。返される 32 ビット整数はビットパックされた値です:

ビット

意味

0x0000FFFF

RTC の起動にかかったミリ秒数。

0x00010000

パワーオンリセットが発生した場合にセットされます。

0x00020000

外部リセットが発生した場合にセットされます。

calibration(cal: int | None = None) int | None

RTC のスムースキャリブレーション値を取得または設定します。

引数なしの場合、calibration() は現在のキャリブレーション値([-511, 512] の範囲の整数)を返します。1 つの引数を指定すると、キャリブレーションを設定します。

スムースキャリブレーション機構は、32 秒間(2^20 クロックティック)にわたって 32768 Hz クロックから指定されたティック数を加算または減算することで、RTC のクロックレートを調整します。各正のティックはクロックを 2^20 分の 1(≈0.954 ppm)だけ速め、負の値はティックごとに同じ量だけクロックを遅くします。したがって、使用可能なキャリブレーション範囲はおよそ -487.5 ppm から +488.5 ppm です。