class USB_VCP -- USB 虚拟通信端口¶
USB_VCP 类允许创建一个类似 stream 的对象,表示 USB 虚拟通信端口。它可用于通过 USB 与所连接的主机之间读写数据。
构造函数¶
- class pyb.USB_VCP(id: int = 0)¶
创建一个新的
USB_VCP对象。当暴露了多个 USB VCP 端口时,id 参数用于选择使用哪一个。方法¶
- init(*, flow: int = -1) None¶
配置 USB VCP 端口。如果 flow 参数不为
-1,则它设置流控制,即USB_VCP.RTS和USB_VCP.CTS的按位或。RTS控制读取行为;CTS控制写入行为。
- setinterrupt(chr: int) None¶
设置用于中断正在运行的 Python 代码的字符。默认设置为 3(CTRL-C),当通过 USB VCP 端口收到 CTRL-C 字符时,会引发 KeyboardInterrupt 异常。
设置为 -1 可禁用此中断功能。当你想要通过 USB VCP 端口发送原始字节时,这很有用。
- read(nbytes: int | None = None) bytes | None¶
从串行设备最多读取
nbytes个字节,并将它们作为 bytes 对象返回。如果未指定nbytes,则该方法读取串行设备上所有可用的字节。USB_VCP stream 隐式地以非阻塞模式工作,因此如果没有待处理的可用数据,此方法将立即返回None值。
- readinto(buf: bytearray, maxlen: int | None = None) int | None¶
从串行设备读取字节并将它们存入
buf(应当是一个类缓冲区对象)。最多读取len(buf)个字节。如果给定了maxlen,则最多读取min(maxlen, len(buf))个字节。返回读取并存入
buf的字节数,如果没有待处理的可用数据则返回None。
- recv(data: int | bytearray, *, timeout: int = 5000) bytes | int¶
在总线上接收数据:
data可以是一个整数,即要接收的字节数,也可以是一个可变缓冲区,将用接收到的字节填充。timeout是等待接收的超时时间,单位为毫秒。
返回值:如果
data是整数,则返回一个包含所接收字节的新缓冲区,否则返回读入data的字节数。
常量¶