微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

节点程序包serialport提供垃圾输出

如何解决节点程序包serialport提供垃圾输出

我正在使用以下软件包:https://www.npmjs.com/package/serialport,用于在运行脚本时从/ dev / ttyUSB0读取串行数据,但我得到了一些数据,但这是不正确的。

开始。当我做的时候:

cat / dev / ttyUSB0

我收到正确的数据。数据以波特率19200、8个数据位,奇偶校验:无,停止位:1和流控制:无发送,如本PDF中所述:https://www.sv-zanshin.com/r/manuals/victron-ve-direct-protocol.pdf

此命令:

stty -F / dev / ttyUSB0

回声:

速度19200波特;行= 0;最小值= 1;时间= 0; -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke

当使用带有以下代码的serialport软件包时:

const SerialPort = require('serialport')
const Readline = require('@serialport/parser-readline')
const port = new SerialPort('/dev/ttyUSB0',{
        baudrate: 19200,stopBits: 1,parity: 'none',dataBits: 8,flowControl: false
})


const parser = port.pipe(new Readline({ delimiter: '\r\n' }))
parser.on('data',console.log)

我有时会收到一些“无效”数据,例如:

enter image description here

在使用cat / dev / ttyUSB0的同时,我正每秒接收完整的数据块,如:

enter image description here

有人知道我在做什么错吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。