问题描述
我编写了一个 node.js 脚本,它通过 USB 串行端口连接到外部设备。外部设备使用来自 FTDI 的芯片,可以与 USB 信号进行转换。我使用 FT_Prog 将基本设备信息(如制造商、描述、序列号等)编程到该芯片中,假设在我读取 node.js 脚本(使用 serialport 包)中的端口信息时提供了这些信息。
但是,我似乎无法在 Windows 系统上检索该信息。当我读取我连接的串口信息时,制造商始终是FTDI,描述是undefined
。但是当使用 Linux 系统时,这些信息是可用的。
This 似乎是同一个话题。但据我所知,只要我用 FT_Prog 对芯片进行编程,我就应该能够获得信息。但它仍然无法正常工作。
那么为什么我无法在 Windows 上检索这些信息,而在 Linux 上呢?
提前致谢!
编辑
我使用的代码:
'use strict';
const serialPort = require('serialport');
searchFscPort();
function searchFscPort() {
serialPort.list().then(ports => {
for(let i = 0; i < ports.length; i++) {
if(ports[i].manufacturer == 'FTDI' || ports[i].manufacturer == 'ME') {
console.log('Path: ',ports[i].path);
console.log('Manufacturer: ',ports[i].manufacturer);
console.log('SN: ',ports[i].serialNumber);
console.log('lID: ',ports[i].locationId);
console.log('pID: ',ports[i].productId);
console.log('vID: ',ports[i].vendorId);
console.log('pnpID: ',ports[i].pnpId);
return;
}
}
});
}
Windows 上的结果:
path: COM4
manufacturer: FTDI
SN: 110
lID: undefined
pID: 6015
vID: 0403
pnpID: FTDIBUS\VID_0403+PID_6015+110A\0000
Linux 上的结果:
path: /dev/ttyUSB0
manufacturer: ME
SN: 110
lID: undefined
pID: 6015
vID: 0403
pnpID: usb-ME_FSC1_7_110-if00-port0
这是我在芯片中编程的内容:
顺便说一句,似乎没有 node.js 属性来获取“制造商描述”?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)