#usb-serial #exit #peripheral #esp32-s3 #logging #defmt #write

nightly esp-fast-serial

为ESP32-S3及其类似芯片提供的具有内置USB串行JTAG外设的快速USB串行库

5个版本

0.2.4 2024年8月24日
0.2.3 2024年8月24日
0.1.0 2024年8月24日

#656硬件支持

Download history

每月 144次下载

MIT/Apache

20KB
256

esp-fast-serial

为具有内置USB串行JTAG接口的ESP32-S3及其类似微控制器提供的快速串行通信

特性

  • 比默认的 esp-println 实现快得多。
  • 使用内置的USB串行JTAG接口。
  • 无需外部硬件。
  • 提供快速的并发 defmt 打印机。
  • 提供与 defmt 日志记录一起的ASCII/原始数据直接写入函数。
  • 提供自定义暂停函数,允许在不拔掉USB线的情况下重新编程。

限制

  • 仅支持小于2048字节的 defmt 消息。
    • 这是由于“全局”记录器的当前实现。
    • 由于 defmt 消息不能交错,我们必须创建一个全局缓冲区来存储完整的消息。
    • 可以创建自己的本地记录器来处理更大的消息。
  • 目前仅支持S3和C6

用法

将以下内容添加到您的 Cargo.toml

[dependencies]
esp-fast-serial = { version = "0.2.3", features = ["esp32s3"] }

然后在您的 main.rs

spawner.spawn(esp_fast_serial::serial_comm_task(peripherals.USB_DEVICE));

// After the task created the serial I/O, you can get the handle to the RX queue
let reader = esp_fast_serial::reader_take();

许可证

MIT OR Apache-2.0

依赖关系

~8–16MB
~299K SLoC