Electron串口通信

2023-10-10  本文已影响0人  CodeMT

安装串口

// serialport版本不一样则使用方法有差异,这里使用10.4.0版本
npm install --save serialport
npm install --save serialport@10.4.0

串口工具

工具用来测试读取串口是否成功连上

SerialPort

属性

事件

方法

代码使用

const {SerialPort} = require("serialport");

const serialport = new SerialPort({
  path:"COM3", // 串口号
  baudRate:9600, // 波特率
  dataBits:8, // 数据位
  parity:"none", // 奇偶校验
  stopBits:1, // 停止位
  autoOpen:false // 是否自动打开端口
});
// 打开串口
serialport.open((err) => {
  if(err) {
    return console.log('Err: ', err);
  }
  console.log('端口打开成功!');
});

serialport.removeAllListeners();  //清除所有监听器
// 串口数据监听
serialport.on("data",data=>{
  console.log('Data:', data)  // data为监听到的内容,即下位机返回的数据
})
// 串口关闭
serialport.on("close", () =>{
  console.log('串口关闭')
})
// 错误监听
serialport.on('error', (err) =>{
  console.log('error: ' err)
})

// 发送数据,实现下行数据
serialport.write('Hello world!\n'); // 发送字符串
serialport.write(Buffer.from('Hey!\n')); // 发送Buffer数据

数据处理

如果串口传递过来的数据,被一段一段的切分开,这样就会很难处理数据,
例如: 原数据为01 3D 47 00 00 12 A4 32 33
可第一次接收到的就为 01 3 剩下的D 47 00 00 12 A4 32 33 会被遗留到第二次发送

解决方法

上一篇 下一篇

猜你喜欢

热点阅读