类: CDC
约 655 字大约 2 分钟
2026-03-17
构建固件和导入到JS
该类没有直接导出, 只能从 serial 模块导入该类的实例:
import { cdc } from "serial"简介
CDC (USB Serial JTAG) 类
用于通过 USB Serial JTAG 接口进行通信。CDC 是 ESP32 芯片内置的 USB 串口功能, 无需额外的 USB 转串口芯片,直接通过 USB 线连接电脑即可进行通信。
注意:CDC 是一个独立的模块,不是通过 serial 模块访问的。
示例:
import * as cdc from "cdc"
// 初始化 CDC
cdc.setup()
// 或者指定缓冲区大小
cdc.setup(256, 256) // rx_buffer_size, tx_buffer_size
// 监听接收数据
cdc.on("data", (data) => {
console.log("Received:", data)
// 将 ArrayBuffer 转换为字符串
const text = new TextDecoder().decode(data)
console.log("Text:", text)
})
// 发送数据
cdc.write("Hello CDC!")
// 发送二进制数据
const buffer = new Uint8Array([0x01, 0x02, 0x03]).buffer
cdc.write(buffer)类方法
方法 setup
原型: setup (rx_buffer_size:number=256, tx_buffer_size:number=256)
初始化并配置 USB Serial JTAG CDC 驱动
初始化 CDC 驱动,配置接收和发送缓冲区大小。
示例:
import * as cdc from "cdc"
// 使用默认缓冲区大小(256字节)
cdc.setup()
// 指定缓冲区大小
cdc.setup(512, 512) // 接收缓冲区 512 字节,发送缓冲区 512 字节参数:
rx_buffer_size
类型number
默认值256
参数说明接收缓冲区大小(可选,默认 256)
tx_buffer_size
类型number
默认值256
参数说明发送缓冲区大小(可选,默认 256)
异常:
- CDC 已初始化
- 驱动安装失败
返回值:
类型undefined
方法 write
原型: write (data:string|ArrayBuffer)
向 USB Serial JTAG 写入数据
发送字符串或二进制数据到 USB Serial JTAG 接口。
示例:
import * as cdc from "cdc"
// 发送字符串
cdc.write("Hello World!")
// 发送二进制数据
const buffer = new Uint8Array([0x01, 0x02, 0x03, 0x04]).buffer
cdc.write(buffer)
// 检查实际写入的字节数
const bytesWritten = cdc.write("Test data")
console.log("Bytes written:", bytesWritten)参数:
data
类型string, ArrayBuffer
参数说明要写入的数据
异常:
- 参数类型无效
- 写入失败
返回值:
类型number
说明实际写入的字节数
