构造函数
此接口的实例可通过调用 Serial 接口的方法来获取,因此它没有自己的构造函数。
实例属性
SerialPort.connected只读 实验性-
返回一个布尔值,指示端口是否已逻辑连接到设备。
SerialPort.readable只读 实验性-
返回一个
ReadableStream,用于从连接到端口的设备接收数据。 SerialPort.writable只读 实验性-
返回一个
WritableStream,用于向连接到端口的设备发送数据。
实例方法
SerialPort.forget()实验性-
返回一个
Promise,当对串行端口的访问被撤销时解析。调用此方法会“忘记”设备,重置任何先前设置的权限,以便调用站点无法再与端口通信。 SerialPort.getInfo()实验性-
返回一个包含端口可用的设备标识信息的对象。
SerialPort.open()实验性-
返回一个
Promise,当端口打开时解析。默认情况下,端口以 8 个数据位、1 个停止位和无奇偶校验进行打开。 SerialPort.setSignals()实验性-
设置端口上的控制信号,并返回一个
Promise,当信号设置完成后解析。 SerialPort.getSignals()实验性-
返回一个
Promise,当解析时,它将包含端口控制信号当前状态的对象。 SerialPort.close()实验性-
返回一个
Promise,当端口关闭时解析。
事件
connect实验性-
当端口连接到设备时触发。
disconnect实验性-
当端口与设备断开连接时触发。
示例
打开端口
在与串行端口通信之前,必须将其打开。打开端口允许站点指定控制数据传输和接收所需参数。开发者应查阅他们正在连接的设备的文档以获取适当的参数。
js
await port.open({ baudRate: 9600 /* pick your baud rate */ });
一旦 open() 返回的 Promise 解析,就可以访问 readable 和 writable 属性,以获取用于从连接的设备接收数据和向连接的设备发送数据的 ReadableStream 和 WritableStream 实例。
从端口读取数据
以下示例显示了如何从端口读取数据。外部循环处理非致命错误,创建新的读取器,直到遇到致命错误并且 readable 变为 null。
js
while (port.readable) {
const reader = port.readable.getReader();
try {
while (true) {
const { value, done } = await reader.read();
if (done) {
// |reader| has been canceled.
break;
}
// Do something with |value|…
}
} catch (error) {
// Handle |error|…
} finally {
reader.releaseLock();
}
}
向端口写入数据
以下示例显示了如何将字符串写入端口。在传输之前,TextEncoder 将字符串转换为 Uint8Array。
js
const encoder = new TextEncoder();
const writer = port.writable.getWriter();
await writer.write(encoder.encode("PING"));
writer.releaseLock();
规范
| 规范 |
|---|
| Web Serial API # dom-serialport |
浏览器兼容性
加载中…