MicroPythonで使うWio Terminal - time

time 時間関連の関数使用例

# Wio Terminal timeのサンプル
# MicroPythonの公式ドキュメントに説明がある
# https://micropython-docs-ja.readthedocs.io/ja/latest/library/time.html
# This code is provided under a CC0 Public Domain License.
# http://creativecommons.org/publicdomain/zero/1.0/
# 2022年6月20日 佐藤恭一 https://kyoutan.jpn.org

import time

# 遅延
time.sleep(5)  # 5s 時間待ち
time.sleep_ms(500)  # 500ms 時間待ち
time.sleep_us(500)  # 500us 時間待ち

# 経過時間 (値は多分符号付き32bit整数 最大 0x3fffffffを超えると 0に戻る)
print("ticks_ms  {}".format(time.ticks_ms()))   # 稼働時間 ms
print("ticks_cpu {}".format(time.ticks_cpu()))  # 稼働時間 cpuクロックではなく msと同じ値
print("ticks_us  {}".format(time.ticks_us()))   # 稼働時間 us

# 経過時間の計算
start = time.ticks_us()  # 1000ミリ秒時間待ちする間をマイクロ秒単位で計測する
time.sleep_ms(1000)
# 2つのticks値の差を求める。値が最大値を跨いでも正しく計算する
# 経過時間を計算できる
elapse = time.ticks_diff(time.ticks_us(), start)
print("ticks_diff {} us".format(elapse))

# 現在のticks_us値から1000us後のticks値を計算する
# 最大値を跨いでも正しく計算する
print("ticks_add  {}".format(time.ticks_add(time.ticks_us(), 1000)))

# time.localtime()  # No rtc エラーで使えない
# time.time()  # No rtc エラーで使えない
# time.mktime()

"""
>>> help(time)
object <module 'utime'> is of type module
  __name__ -- utime
  localtime -- <function>
  mktime -- <function>
  time -- <function>
  sleep -- <function>
  sleep_ms -- <function>
  sleep_us -- <function>
  ticks_ms -- <function>
  ticks_us -- <function>
  ticks_cpu -- <function>
  ticks_add -- <function>
  ticks_diff -- <function>
"""

標準関数なので、MicroPythonのドキュメンテーションに説明があります。

Wio Terminalでは ticks_cpu がCPUクロックではなくて、ticks_ms と同じ値でした。


このブログの人気の投稿

windowsで「インターネット接続の共有」の設定

月刊 I/O 記事リスト 1976~1989

X68000実機のROMを保存