You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js连接Arduino时COM3端口提示无此文件或目录报错如何解决

问题原因及解决办法

报错核心为serialport库无法找到你指定的COM3端口,按以下步骤逐一排查即可:

  • 确认端口号是否正确
    Windows系统打开设备管理器,展开「端口(COM和LPT)」列表,查看插入的Arduino开发板对应的实际COM端口号,将代码中的COM3替换为实际值;Mac系统端口路径格式为/dev/tty.usbmodem[序号],Linux系统为/dev/ttyACM[序号],不要直接默认填写COM3。
  • 排查端口占用
    确认Arduino IDE的串口监视器、其他串口调试工具是否处于打开状态,串口同一时间只能被一个程序占用,关闭所有占用工具后再运行Node.js代码。
  • 检查硬件连接
    确认USB线是否为数据传输线(部分USB线仅支持充电无法传输数据),重新插拔USB口确认开发板正常被系统识别。
  • 完善代码错误处理与执行逻辑
    你当前的代码缺少端口打开成功的判断,直接执行write操作也会触发异常,同时缺少错误捕获逻辑会抛出未处理的Promise拒绝警告,修正后代码如下:
const SerialPort = require("serialport");
const Readline = require("@serialport/parser-readline");

// 此处替换为你查到的实际端口号
const port = new SerialPort("你的实际端口号",{
  baudRate:9600,
});
// 端口错误捕获
port.on('error', err => {
  console.log('端口错误:', err.message)
})
const parser = new Readline();
port.pipe(parser);
parser.on('data', (line) => console.log('收到数据:', line));
// 等待端口打开成功后再发送数据
port.on('open', () => {
  console.log('端口已成功打开')
  port.write("ngentod")
})

内容的提问来源于stack exchange,提问作者Hamid HMB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 23:09:00