このドキュメンテーションは、MicroPython の最新開発ブランチのためのものです。 リリースバージョンでは利用できない機能に言及することがあります。

特定のリリースのドキュメントをお探しの場合は、左側のドロップダウンメニューを使って、 望みのバージョンを選択します。

クラス 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項目のタプルの形式は次のとおりです:

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

subseconds の意味はハードウェアに依存します。

RTC.init(datetime)

RTC を初期化します。datetime は次の形式のタプルです。

(year, month, day, hour, minute, second, microsecond, tzinfo)

すべての8つの引数を指定する必要があります。現在のところ microsecondtzinfo の値は無視されますが、将来的に使用される可能性があります。

対応ポート: CC3200, ESP32, MIMXRT, SAMD。stm32 および renesas-ra ポートの rtc.init() メソッドは、RTC を(再)起動するだけであり、引数を受け付けません。

RTC.now()

現在の日時タプルを取得します。

対応ポート: WiPy

RTC.deinit()

RTC を2015年1月1日の時刻にリセットして、実行を再開します。

RTC.alarm(id, time, *, repeat=False)

RTC アラームを設定します。time にはアラームをプログラムする、現在時刻からの経過ミリ秒数、あるいは日時タプルのどちらかを指定します。time の指定がミリ秒の場合、repeat に True を設定すると、アラームを定期的に行うようになります。

RTC.alarm_left(alarm_id=0)

アラームが期限切れになるまでの残りミリ秒数を取得します。

RTC.alarm_cancel(alarm_id=0)

作動中のアラームをキャンセルします。

mimxrt ポートでは、この機能が RTC.cancel(alarm_id=0) としても提供されていますが、これは MicroPython 2.0 で削除される予定です。

RTC.irq(*, trigger, handler=None, wake=machine.IDLE)

リアルタイムクロックのアラームによってトリガーされる irq オブジェクトを作成します。

  • triggerRTC.ALARM0 でなければなりません

  • handler はコールバックがトリガーされたときに呼び出される関数です。

  • wake は、この割り込みがシステムを起床できるスリープモードを指定します。

RTC.memory([data])

RTC.memory(data)data を RTC メモリに書き込みます。ここで data はバッファプロトコルをサポートする任意のオブジェクトです(bytes, bytearray, memoryview, array.array など)。 RTC.memory() は RTC メモリを読み込み、 bytes オブジェクトを返します。

RTC ユーザーメモリに書き込んだデータは ソフトリセットmachine.deepsleep() などで再起動したときも保持されます。

RTC ユーザーメモリの最大長は、esp32 ではデフォルトで 2048 バイト、esp8266 では 492 バイトです。

対応ポート: esp32、esp8266 ポート。

定数

RTC.ALARM0

irq トリガーソース