我尝试在 Windows 上使用 WebSerial API,因为它在 macOS 上运行良好,没有任何问题。该设备已插入 Macbook,无需执行任何额外操作。当我将设备(USB 转串行适配器)连接到 Windows 计算机并使用 Google Chrome 访问我的 Angular 网站时,出现此错误:
DOMException:无法打开串口。
当我访问
chrome://device-log/
时,我看到此错误:
[USB][错误][17:09:20] 无法从节点连接读取描述符: 连接到系统的设备无法运行。 (0x1F)
下面是我正在使用的代码,当代码运行第
await this.scale.open({ baudRate: 9600 });
行时显示错误。
const VENDOR_ID = 1027;
const PRODUCT_ID = 24577;
...
let button = document.getElementById('request-device');
button.addEventListener('click', async () => {
try {
this.scale = await navigator.serial.requestPort({
filters: [{
usbProductId: PRODUCT_ID,
usbVendorId: VENDOR_ID
}]
});
await this.scale.open({ baudRate: 9600 }); //ERROR HAPPENS HERE
} catch (error) {
console.log(error)
}
});
}
这是一个驱动程序问题。
大多数旧型号 USB 转串行适配器在 Windows 10 上都会出现问题。在尝试了多个驱动程序后,我发现 这个 解决了我的问题。
它链接到一个我不懂的语言的 YouTube 视频。不过,这些步骤很容易遵循。下载驱动程序并按照步骤操作后,就可以正常工作了。
视频中的密码.rar???