class USB_VCP – USB virtual comm port¶
The USB_VCP class allows creation of an object representing the USB virtual comm port. It can be used to read and write data over USB to the connected host.
Methods¶
-
usb_vcp.setinterrupt(chr)¶ Set the character which interrupts running Python code. This is set to 3 (CTRL-C) by default, and when a CTRL-C character is received over the USB VCP port, a KeyboardInterrupt exception is raised.
Set to -1 to disable this interrupt feature. This is useful when you want to send raw bytes over the USB VCP port.
-
usb_vcp.isconnected()¶ Return
Trueif USB is connected as a serial device, elseFalse.
-
usb_vcp.any()¶ Return
Trueif any characters waiting, elseFalse.
-
usb_vcp.close()¶ This method does nothing. It exists so the USB_VCP object can act as a file.
-
usb_vcp.read([nbytes])¶ Read at most
nbytesfrom the serial device and return them as a bytes object. Ifnbytesis not specified then the method acts asreadall(). USB_VCP stream implicitly works in non-blocking mode, so if no pending data available, this method will return immediately withNonevalue.
-
usb_vcp.readall()¶ Read all available bytes from the serial device and return them as a bytes object, or
Noneif no pending data available.
-
usb_vcp.readinto(buf[, maxlen])¶ Read bytes from the serial device and store them into
buf, which should be a buffer-like object. At mostlen(buf)bytes are read. Ifmaxlenis given and then at mostmin(maxlen, len(buf))bytes are read.Returns the number of bytes read and stored into
buforNoneif no pending data available.
-
usb_vcp.readline()¶ Read a whole line from the serial device.
Returns a bytes object containing the data, including the trailing newline character or
Noneif no pending data available.
-
usb_vcp.readlines()¶ Read as much data as possible from the serial device, breaking it into lines.
Returns a list of bytes objects, each object being one of the lines. Each line will include the newline character.
-
usb_vcp.write(buf)¶ Write the bytes from
bufto the serial device.Returns the number of bytes written.
-
usb_vcp.recv(data, *, timeout=5000)¶ Receive data on the bus:
datacan be an integer, which is the number of bytes to receive, or a mutable buffer, which will be filled with received bytes.timeoutis the timeout in milliseconds to wait for the receive.
Return value: if
datais an integer then a new buffer of the bytes received, otherwise the number of bytes read intodatais returned.
-
usb_vcp.send(data, *, timeout=5000)¶ Send data over the USB VCP:
datais the data to send (an integer to send, or a buffer object).timeoutis the timeout in milliseconds to wait for the send.
Return value: number of bytes sent.