用途:在 Windows 上为 XIAO ESP32S3(或任意 Arduino 板)提供串口监视,区分两种场景:供代理自身调试用的有界读取,以及供用户长时间观看的常驻监视。
主要能力:Find-BoardPort.ps1 按 USB 厂商 ID 检测端口(303A Espressif、2341 Arduino),避免误选开发机常驻的 USB-UART 桥接设备;mon.ps1 支持断线重连,端口在复位或上传后消失也能重新附着;flash.ps1 完成编译、上传并可选启动监视。
使用方式:调试自己的改动用有界模式 .\scripts\mon.ps1 -Seconds 10,可加 -Send "ping" 先发一行;脚本内上传用 flash.ps1 <sketch> -NoMonitor,会返回真实状态码。用户自行观看时不要代为启动,只留命令:mon(自动检测端口)、mon COM6 9600(指定端口与波特率)、flash blink(编译+上传+监视)、flash blink -NoMonitor(仅上传)、boards(列出设备)。可选把 assets/profile_snippet.ps1 追加到 $PROFILE 获得 mon/flash/boards 快捷命令,需修改顶部 $env:XIAO_TOOLS 路径。
限制与注意:不带 -Seconds 的 mon.ps1 与不带 -NoMonitor 的 flash.ps1 永不返回,在工具调用中会挂起会话。监视打开时占用端口,上传会失败,需先 Ctrl+C 关闭或改用 flash.ps1。附着到已运行的板子不会显示启动横幅,需按 Reset 或重新上传。COM 号在重新插拔后会变化。arduino-cli board list 可能把 XIAO 显示为 Unknown 且 FQBN 为空。首次打印前建议 Serial.begin(115200); delay(3000);,否则早期输出会被丢弃。若 .ps1 含非 ASCII 字符,需以带 BOM 的 UTF-8 保存。$PROFILE 修改只对新终端生效,且 PowerShell 5.1 与 7 的 $PROFILE 不同。