node.js serialport - TypeError: «смещение» не является целым числом - PullRequest
1 голос
/ 17 июня 2019

Я пытаюсь открыть последовательный порт и прочитать входящие данные:

const SerialPort = require('serialport');

var port = new SerialPort(
  "/dev/ttyUSB0",
  { baudRate: 115200 }
);

port.on('data', data => {
  console.log(data);
});

port.on('error', err => {
  console.log('Error', err);
});

port.on('close', err => {
  console.log('Closed', err);
});

Приведенный выше пример завершается с TypeError: "offset" is not an integer при поступлении новых данных:

Closed { TypeError: "offset" is not an integer
    at LinuxBinding.read (/home/kristupas/projects/node-factory-worker/node_modules/@serialport/binding-abstract/binding-abstract.js:89:13)
    at LinuxBinding.read (/home/kristupas/projects/node-factory-worker/node_modules/@serialport/bindings/lib/linux.js:63:17)
    at SerialPort._read (/home/kristupas/projects/node-factory-worker/node_modules/@serialport/stream/stream.js:374:16)
    at SerialPort.Readable.read (_stream_readable.js:462:10)
    at maybeReadMore_ (_stream_readable.js:610:12)
    at processTicksAndRejections (internal/process/task_queues.js:81:17) disconnected: true }

IЯ пробовал @serialport/terminal ( источник здесь ), и он работает как задумано, поэтому явно что-то не так с моим кодом, однако, насколько я могу судить, я правильно следую документации.

1 Ответ

1 голос
/ 19 июня 2019

Какую версию serialport вы используете? Убедитесь, что вы не используете ветку 8.0.0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...