0

我打算使用 Google Chrome 中的 Web Serial API 来寻址具有 Modbus RTU 的设备。

必须指定波特率才能开始设置 - 因此这已经完成。

以下链接指向描述如何设置参数的文档部分:Goog https://wicg.github.io/serial/#serialoptions-dictionary

我不明白语法解释。Javascript 不知道“字典”。

谢谢你的帮助

4

2 回答 2

0

正如https://web.dev/serial/#open-port所解释的,一旦你有一个对象,以所需的波特率SerialPort调用将打开串行端口。字典成员指定通过串行线路发送数据的速度port.open()baudRate它以比特每秒 (bps) 为单位表示。

检查您设备的文档以获取正确的值,因为如果指定不正确,您发送和接收的所有数据都将是乱码。对于一些模拟串行端口的 USB 和蓝牙设备,此值可以安全地设置为任何值,因为它会被模拟忽略。

// Prompt user to select any serial port.
const port = await navigator.serial.requestPort();

// Wait for the serial port to open.
await port.open({ baudRate: 9600 });

您还可以在打开串行端口时指定其他选项。这些选项是可选的并且具有方便的默认值。

  • dataBits:每帧的数据位数(7 或 8)。
  • stopBits: 帧末尾的停止位数量(1 或 2)。
  • parity:奇偶校验模式(“无”、“偶数”或“奇数”)。
  • bufferSize:应该创建的读写缓冲区的大小(必须小于16MB)。
  • flowControl:流控制模式(“无”或“硬件”)。
// Wait for the serial port to open with more options.
await port.open({
  baudRate: 9600,
  dataBits: 8,
  stopBits: 1,
  parity: "none",
  bufferSize: 255,
  flowControl: "none",
});

于 2021-11-24T07:36:43.300 回答
-1
async function start() 
{
        // Prompt user to select any serial port.
        const port = await navigator.serial.requestPort();

        // Wait for the serial port to open.
        await port.open({ baudRate: 9600, dataBits: 8,  stopBits: 2, ParityType: "none"});
}
于 2021-11-25T07:34:17.973 回答