![](/img/trans.png)
[英]Web serial API "Uncaught (in promise) DOMException: A buffer overrun has been detected." when reading serial data from serial device
[英]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 port
或required 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
它工作正常,最近因您遇到的相同錯誤而停止。 不知道最近有什么變化。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.