簡體   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