繁体   English   中英

Web Serial API - Uncaught (in promise) DOMException: Failed to open serial port / required member baudRate is undefined

[英]Web Serial API - Uncaught (in promise) DOMException: Failed to open serial port / required member baudRate is undefined

下面的代码在我的 Xubuntu 机器上工作,但现在我在 Kubuntu 上,它不再工作 - 它不会打开端口。

Arduino IDE 工作正常(可以将代码写入电路板),我可以在 Chrome 中选择设备(Arduino Uno),但是当我尝试打开端口时代码将停止: Uncaught (in promise) DOMException: Failed to open serial portrequired member baudRate is undefined会出现。

const filters = [
  // Filter on devices with the Arduino Uno USB Vendor/Product IDs.
  { usbVendorId: 0x2341, usbProductId: 0x0043 },
  { usbVendorId: 0x2341, usbProductId: 0x0001 },
];

  async function getPortAndStartReading() {
    if (!portFound) {
      const port = await navigator.serial.requestPort({ filters });
      await port.open({ baudRate: 9600 }) //problem here
      reader = port.readable.getReader();
      outputStream = port.writable
      readLoop();
      if (port) {
          connectionToPortSuccessfulMessage = 'Connection successful'
          setPortFound(true)
      }
    }
  }

我已经尝试按照更改串行端口的权限,所以现在如果我运行groups user我会得到user : user adm dialout cdrom sudo dip plugdev lpadmin lxd sambashare ,但它仍然无法工作。

我还检查了chrome://device-log以查看是否可以找到任何错误,但我得到的只是有关(物理上)添加或删除 USB 设备的信息。

我相信成员名称最近已从“baudrate”更改为“baudRate”。 至少在我的情况下,从“波特率”(曾经有效)更改为“波特率”为我修复了它。 可能是 Kubuntu 使用的是期望“波特率”的旧版 chrome 版本。

我也有同样的问题。 我有一个用于 CircuitPython 的在线 IDE:

https://github.com/Mr-Coxall/CircuitPython-IDE

ide.mths.ca

它工作正常,最近因您遇到的相同错误而停止。 不知道最近有什么变化。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM