我正在使用serialport和ReadLine parser在微控制器和节点服务器之间进行通信。在节点端,我正在使用此代码
const SerialPort = require('serialport')
const Readline = require('@serialport/parser-readline')
const port = new SerialPort('/dev/tty-usbserial1')
const parser = port.pipe(new Readline({ delimiter: '\r\n' }))
parser.on('data', console.log)
在微控制器方面,我每1秒发送一次计数器值。
期望的日志是这样的:
1 2 3 4 5 6
真实的日志是这样的:
1 1 1 2 2 2 3 3 3 4 4 4 5 5 5
是否有一种方法可以清除RX缓冲区以修复parser.on('data',);
的行为?
我使用TeraTerm测试了接收到的数据流,发现值没有重复。因此,微控制器方面没有问题。