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

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

クラス USB_VCP -- USB 仮想 COM ポート

USB_VCP クラスは、USB 仮想 COM ポートを表す stream ライクなオブジェクトを作成できるようにします。これにより、接続されたホストと USB 経由でデータの送受信を行うことができます。

コンストラクタ

class pyb.USB_VCP(id=0)

新しい USB_VCP オブジェクトを作成します。引数 id には、使用する USB VCP ポートを指定します。

メソッド

USB_VCP.init(*, flow=-1)

USB VCP ポートを設定します。引数 flow が -1 でない場合、その値はフロー制御を設定します。これは USB_VCP.RTSUSB_VCP.CTS とのビット単位の論理和を取った値になります。RTS は読み取り動作 を制御します。CTS は書き込み動作を制御します。

USB_VCP.setinterrupt(chr)

実行中の Python コードに割り込む文字を設定します。デフォルトでは 3 (CTRL-C)に設定されており、USB VCP ポート経由で CTRL-C 文字を受信すると KeyboardInterrupt 例外が発生します。

この割り込み機能を無効にするには -1 を設定します。これは、USB VCP ポート経由で生のバイトデータを送信したい場合に便利です。

USB_VCP.isconnected()

USB がシリアルデバイスとして接続されている場合は True を返し、それ以外の場合は False を返します。

USB_VCP.any()

待機中の文字がある場合は True を返し、そうでない場合は False を返します。

USB_VCP.close()

このメソッドは何も実行しません。USB_VCP オブジェクトをファイルと同様に扱うために存在します。

USB_VCP.read([nbytes])

シリアルデバイスから最大 nbytes バイトを読み取り、bytes オブジェクトとして返します。 nbytes が指定されていない場合、このメソッドはシリアルデバイスから利用可能なすべてのバイトを読み取ります。USB_VCP stream は暗黙的に非ブロッキングモードで動作するため、データが利用可能でない場合、このメソッドは即座に None を返します。

USB_VCP.readinto(buf[, maxlen])

シリアルデバイスからバイトを読み取って buf に格納します。この buf はバッファライクなオブジェクトである必要があります。最大で len(buf) バイトが読み取られます。 maxlen が指定された場合は min(maxlen, len(buf)) バイトまで読み取られます。

読み取って buf に格納したバイト数を返します。データが利用可能でない場合は None を返します。

USB_VCP.readline()

シリアルデバイスから1行全体を読み取ります。

改行文字を末尾に含むデータを bytes オブジェクトとして返します。利用可能なデータがない場合は None を返します。"

USB_VCP.readlines()

シリアルデバイスから可能な限り多くのデータを読み取り、行ごとに分割します。

各行を含む bytes オブジェクトのリストを返します。各行には改行文字が含まれます。

USB_VCP.write(buf)

buf からの bytes データをシリアルデバイスに書き込みます。

書き込んだバイト数を返します。

USB_VCP.recv(data, *, timeout=5000)

バス上のデータを受信します:

  • data が整数である場合、受信するバイト数を表します。さもなければ、受信したバイトを格納する可変バッファを指定します。

  • timeout は受信を待機するタイムアウト時間をミリ秒単位で指定します。

戻り値: data が整数の場合、受信したバイトの新しいバッファが返されます。それ以外の場合は data に読み込まれたバイト数が返されます。

USB_VCP.send(data, *, timeout=5000)

USB VCP を介してデータを送信します。

  • data は送信するデータです(送信する整数、またはバッファオブジェクト)。

  • timeout は送信を待機するタイムアウト時間をミリ秒単位で指定します。

戻り値: 送信したバイト数。

USB_VCP.irq(handler=None, trigger=IRQ_RX, hard=False)

イベント trigger が発生したときに呼び出されるハンドラー handler を登録します。 handler 関数は引数として USB VCP オブジェクトを1つ受け取る必要があります。 None を指定するとコールバックを無効化できます。

指定できる trigger の値は以下のとおりです:

  • USB_VCP.IRQ_RX: USB VCP オブジェクトで新しいデータが読み取り可能になったとき。

定数

USB_VCP.RTS
USB_VCP.CTS

フロー制御の種別。

USB_VCP.IRQ_RX

USB_VCP.irq() で使う IRQ トリガー値。