Javascript JS节点串行端口访问被拒绝(失去连接?)

Javascript JS节点串行端口访问被拒绝(失去连接?),javascript,node.js,arduino,serial-port,node-serialport,Javascript,Node.js,Arduino,Serial Port,Node Serialport,这是应将伺服转向180°状态的代码: const SerialPort = require('serialport') const Readline = require('@serialport/parser-readline') const port = new SerialPort("COM3", { baudRate: 9600 }) const parser = new Readline() port.pipe(parser) parser.on('data',

这是应将伺服转向180°状态的代码:

const SerialPort = require('serialport')
const Readline = require('@serialport/parser-readline')
const port = new SerialPort("COM3", { baudRate: 9600 })


const parser = new Readline()
port.pipe(parser)

parser.on('data', line => console.log(`> ${line}`))
port.write('X(180)Y(0)')
发生了什么: 当我第一次键入导致该代码的命令时,该命令通过,但伺服仅转到~85°。 如果我再次键入命令,则会出现以下错误:

(节点:15088)未处理的PromisejectionWarning:错误:打开COM3: 拒绝访问(节点:15088)未处理PromisejectionWarning:未处理 承诺拒绝。此错误源于 没有catch块或拒绝承诺的异步函数 这不是用.catch()处理的。要终止上的节点进程,请执行以下操作: 未处理的承诺拒绝,请使用CLI标志
--未处理的拒绝=严格的
(请参阅 ). (拒绝id:1)(节点:15088)[DEP0018]拒绝警告:未处理 拒绝承诺是不推荐的。在未来,承诺拒绝 未处理的将使用 非零退出代码。[10:40]错误:Ping超时

我想最重要的部分是COM3:拒绝访问,这表明该端口被其他东西使用。 但如果我尝试使用我以前编写的C#程序或arduino ide访问该端口,它就可以正常工作

我不确定端口是否只是失去连接,因为我希望伺服至少执行一次完整命令,而不是中途停止

到目前为止,我已经尝试过了:拔下arduino的插头,重新启动电脑,复制并粘贴我在这里找到的一些东西,因为我对所有这些都不熟悉。你的
端口。write('X(180)Y(0))
不是回调函数
函数(行)
的一部分。因此,您的回调函数从不控制伺服,只输出输入命令。