首页 > 解决方案 > 从串口nodejs串口模块接收到的数据不正确

问题描述

我正在尝试从从 Arduino 纳米设备接收数据的串行端口读取数据,我已经有了它的 matlab 实现,它读取了正确的数据,

但是,我正在尝试将其迁移到节点 js,我遇到了以下问题,应该作为 ']<N ÿÿ¢ ÿÿò½·½ÓïÏÜÔιõa' 接收的数据实际上是作为 ']<N���� ��������������P�k�z^�y| zz{zz|{|��s?f���>oC���B�'

上面的第一帧是我在 matlab 中接收它的方式,因此我可以在节点 js 中使用它,出于某种原因,整个帧被替换为“?”。尤其是诸如“ÿ”之类的字符被替换为“?”。我正在使用串行端口模块使用读取行解析器片段看起来像,

  myPort.on("data", data => {
    console.log(data);
  });

这绝对不是波特率问题,因为其他数据可以完美接收。它与编码有关。

标签: javascriptnode.jsarduinoserial-port

解决方案


我使用了错误的解析器。截止日期解析器试图读取字节并将扩展的 ascii 字符转换为 ?。使用字节解析器解决了这个问题。


推荐阅读