【发布时间】:2020-04-28 17:19:29
【问题描述】:
我是第一次使用串口,并尝试使用以下方法与作为高度调节台控制器的 UART 设备建立读写连接。该应用程序是使用电子的桌面应用程序。
const SerialPort = require('serialport')
const Readline = require('@serialport/parser-readline')
const parser = new Readline()
const port = new SerialPort("COM4", {
baudRate: 9600
})
这是我使用的代码,port.read() 总是返回空值。
对于写操作,我使用了如下代码:
var buf = new Buffer([ 0XF1, 0XF1, 0X01, 0X00, 0X01, 0X7E]);
port.write(buf, function(err,n) {
if (err) {
return console.log('Error on write: ', err.message)
}
console.log(n)
console.log('message written')
})
缓冲区值是用于移动桌面的值,但没有任何操作发生,它不返回错误或在回调中返回未定义的值。
有关设备和设置的更多详细信息: 使用 RJ45 转 USB 连接器与桌子的控制箱连接。
The definition of the SCI is as below:
(Baud Rate):9600
(Data Mode):8
(Stop Bit):1
(Parity Type):None
Path: COM3
手机是指我的系统。
基本写操作缓冲区值:
上移=0XF1 0XF1 0X01 0X00 0X01 0X7E
下移=0XF1 0XF1 0X02 0X00 0X02 0X7E
停止动作=0XF1 0XF1 0X0c 0X00 0X0c 0X7E
读取功能示例:
当前高度(1000mm-0x03E8) 0XF2 0XF2 0X01 0X02 0X03 0XE8 0XEE 0X7E
(‘Data’中有两个字节,所以‘Data Length’为0x02;‘Checksum’= 0x01 + 0x02 +0x03 +0xE8 = 0xEE)
期望读取功能提供当前高度信息和写入功能以便能够控制设备。
版本、操作系统和硬件:
串口@^8.0.7
Node.js v10.16.0
窗户
硬件和芯片组? COM4
FTDIBUS\VID_0403+PID_6001+AB0JIYQTA\0000
FTDI
【问题讨论】:
标签: node.js serial-port electron ftdi node-serialport