クラス 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 トリガー値。