クラス 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.RTSとUSB_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_VCPstreamは暗黙的に非ブロッキングモードで動作するため、データが利用可能でない場合、このメソッドは即座に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.IRQ_RX
USB_VCP.irq()で使う IRQ トリガー値。