跳转到内容

serial-tools

serial-tools 是串口工具包:提供 xmake monitor 命令,以及一个供其它 addon 复用的串口模块。

载荷提供什么
plugins/monitorxmake monitor 命令,把串口输出实时打到终端
modules/serial串口模块,其它 addon 可复用端口探测和监视能力

用起来类似 idf.py monitor 和 Arduino 的串口监视器,但不需要任何额外依赖:自动探测已连接的串口,macOS/Linux/BSD 走 stty,Windows 走 .NET 的 System.IO.Ports 接口。

安装

sh
$ xmake addon --install serial-tools

板级 addon(esp32-develavr-devel)依赖它,装它们时会自动带上。

使用

sh
$ xmake monitor --list                       # 列出可用串口
$ xmake monitor                              # 监视唯一连接的串口,默认 115200
$ xmake monitor --port=/dev/ttyUSB0 --baud=9600
$ xmake monitor --databits=8 --parity=even --stopbits=1

Ctrl-C 退出。

参数默认值说明
-p, --port自动探测串口设备
-b, --baud115200波特率
-d, --databits85678
--paritynonenoneevenodd
-s, --stopbits112
-l, --list列出可用串口

复用串口模块

其它 addon 可以依赖它并导入模块:

lua
import("@addon.serial-tools.serial")

local port = serial.resolve_port(get_config("port"))   -- 传 nil 则自动探测
serial.monitor(port, {baud = 115200})
接口说明
serial.ports()主机上可用的串口
serial.resolve_port(port)返回给定串口,为 nil 时自动探测(有多个时报错)
serial.monitor(port, opt)监视到 Ctrl-C,opt = {baud, databits, parity, stopbits, quiet}