usb_cdc – USB CDC 串行流¶
该usb_cdc模块允许访问 USB CDC(串行)通信。
在 Windows 上,每个 Serial端口都作为单独的 COM 端口可见。首先,端口通常会被连续分配console,但这并不总是正确的。
在 Linux 上,端口通常是/dev/ttyACM0 和/dev/ttyACM1。该 console 端口通常是第一个。
在 MacOS 上,端口通常是/dev/cu.usbmodem<something>. 内容因使用的 USB 总线和端口而异。该console 端口通常是第一个。
在这些板上可用
- 
usb_cdc.console:Optional[Serial]¶
-  该对象用于 REPL,以及用于和。consoleSerialsys.stdinsys.stdout.
- 
如果禁用 console是None。
 - 但是,请注意 - sys.stdin和- sys.stdout是基于文本的流,而- console对象是二进制流。- console除非您想写入二进制数据,否则通常不需要写入。
-  该对象用于 REPL,以及用于和。
- 
usb_cdc.data:Optional[Serial]¶
- Serial可用于向主机发送二进制数据和从主机接收二进制数据的对象。请注意,默认情况下- data是禁用的。- data是- None如果禁用。
- 
usb_cdc.disable() → None¶
- 不要向主机提供任何 USB CDC 设备。可以在 - boot.py连接USB之前调用。相当于。- usb_cdc.enable(console=False, data=False).
- 
usb_cdc.enable(console: bool = True, data: bool = False) → None¶
- 启用或禁用每个 CDC 设备。可以在 - boot.py连接USB之前调用。- 参数
 - 如果您一次启用太多设备,您将耗尽 USB 端点。可用端点的数量因微控制器而异。CircuitPython 将在运行 boot.py 后进入安全模式,以通知您是否没有足够的端点可用。 
- 
class usb_cdc.Serial¶
- 通过 USB 接收 cdc 命令 - 您不能创建 的实例 - usb_cdc.Serial。可用实例在- usb_cdc.serials元组中。- 
connected:bool¶
- 如果此串行连接到主机,则为真。(只读) - 笔记 - 如果主机断言 DTR(数据终端就绪),则认为主机已连接。大多数终端程序并 - pyserial在打开串行连接时断言 DTR。但是,C#- SerialPortAPI 没有。您必须设置- SerialPort.DtrEnable.
 - 
in_waiting:int¶
- 返回等待在 USB 串行输入上读取的字节数。(只读) 
 - 
out_waiting:int¶
- 返回等待写入 USB 串行输出的字节数。(只读) 
 - 
timeout:Optional[float]¶
- 的初始值 - timeout是- None。如果- None,则无限期等待以满足读取操作的条件。如果为 0,则不等待。如果 > 0,则仅等待- timeout几秒钟。
 - 
write_timeout:Optional[float]¶
- 的初始值 - write_timeout是- None。如果- None,无限期地等待写完传递给 的所有字节- write()。如果 0,不等待。如果 > 0,则仅等待- write_timeout几秒钟。
 - 
read(self, size: int = 1) → bytes¶
- 最多读取 - size字节。如果- size超过内部缓冲区大小,则只会读取缓冲区中的字节。如果- timeout是 > 0 或- None, ,并且- size可用字节数少于字节,则继续等待直到超时到期或- size字节可用。- 返回
- 数据读取 
- 返回类型
 
 - 
readinto(self, buf: _typing.WriteableBuffer) → int¶
- 将字节读入 - buf. 如果- nbytesi指定,则最多读取那么多字节,受- timeout否则,最多读取- len(buf)字节。- 返回
- 读取和存储的字节数 - buf
- 返回类型
 
 - 
readline(self, size: int = - 1) → Optional[bytes]¶
- 读取以换行符(“\n”)结尾的行,包括换行符。如果未找到换行符且 - timeout为 0 ,则返回所有可读内容。如果- None出现错误,则返回。- 这是一个二进制流:换行符“\n”不能改变。如果主机传输“\r”,它也将作为行的一部分包含在内。 
 - 
readlines(self) → List[Optional[bytes]]¶
- 将多行作为列表读取,使用 - readline().- 警告 - 如果 - timeout是- None,- readlines()则永远不会返回,因为无法指示流结束。- 返回
- 读取的行列表 
- 返回类型
 
 - 
write(self, buf: _typing.ReadableBuffer) → int¶
- 从字节缓冲区中写入尽可能多的字节。 - 返回
- 写入的字节数 
- 返回类型
 
 
-