クラス 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つの引数を指定する必要があります。現在のところ
microsecond
とtzinfo
の値は無視されますが、将来的に使用される可能性があります。対応ポート: 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 オブジェクトを作成します。
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.deepsleep()
などで再起動したときも保持されます。RTC ユーザーメモリの最大長は、esp32 ではデフォルトで 2048 バイト、esp8266 では 492 バイトです。
対応ポート: esp32、esp8266 ポート。
定数¶
- RTC.ALARM0¶
irq トリガーソース