建構函式
此介面的例項可透過呼叫 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 |
瀏覽器相容性
載入中…