我打算使用 Google Chrome 中的 Web Serial API 来寻址具有 Modbus RTU 的设备。
必须指定波特率才能开始设置 - 因此这已经完成。
以下链接指向描述如何设置参数的文档部分:Goog https://wicg.github.io/serial/#serialoptions-dictionary
我不明白语法解释。Javascript 不知道“字典”。
谢谢你的帮助
我打算使用 Google Chrome 中的 Web Serial API 来寻址具有 Modbus RTU 的设备。
必须指定波特率才能开始设置 - 因此这已经完成。
以下链接指向描述如何设置参数的文档部分:Goog https://wicg.github.io/serial/#serialoptions-dictionary
我不明白语法解释。Javascript 不知道“字典”。
谢谢你的帮助
正如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",
});
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"});
}