說明
使用 chrome.serial
API 讀取和寫入連接至序列埠的裝置。
權限
serial
類型
ConnectionInfo
屬性
-
bitrate
編號 選填
詳情請參閱
ConnectionOptions.bitrate
。如果您使用非標準位元率,或查詢基礎裝置時發生錯誤,這個欄位可能會遭到省略或不正確。 -
bufferSize
數字
查看「
ConnectionOptions.bufferSize
」 -
connectionId
數字
序列埠連線的 ID,
-
ctsFlowControl
布林值 選填
詳情請參閱
ConnectionOptions.ctsFlowControl
。如果查詢基礎裝置時發生錯誤,可省略這個欄位。 -
dataBits
DataBits 選用
詳情請參閱
ConnectionOptions.dataBits
。如果查詢基礎裝置時發生錯誤,可省略這個欄位。 -
名稱
字串
查看「
ConnectionOptions.name
」 -
parityBit
ParityBit 選用
詳情請參閱
ConnectionOptions.parityBit
。如果查詢基礎裝置時發生錯誤,可省略這個欄位。 -
已暫停
布林值
此標記用於註明是否在「Receive 事件」事件中啟動連線封鎖。
-
永久
布林值
查看「
ConnectionOptions.persistent
」 -
receiveTimeout
數字
查看「
ConnectionOptions.receiveTimeout
」 -
sendTimeout
數字
查看「
ConnectionOptions.sendTimeout
」 -
stopBits
StopBits 選用
詳情請參閱
ConnectionOptions.stopBits
。如果查詢基礎裝置時發生錯誤,可省略這個欄位。
ConnectionOptions
屬性
-
bitrate
編號 選填
要求要開啟的連線位元率。為了與各種硬體相容,這個數字應符合其中一個常見的位元率,例如 110、300、1200、2400、4800、9600、14400、19200、38400、57600、115200。當然,連接到序列埠的裝置無法保證一定能支援要求的位元率,即使連接埠本身支援該位元率。根據預設,系統會傳遞
9600
。 -
bufferSize
編號 選填
用於接收資料的緩衝區大小。預設值為 4096。
-
ctsFlowControl
布林值 選填
此標記可註明是否要啟用 RTS/CTS 硬體流量控制。預設值為 false。
-
dataBits
DataBits 選用
根據預設,系統會傳遞
"eight"
。 -
名稱
string optional
要與連線建立關聯的應用程式定義字串。
-
parityBit
ParityBit 選用
根據預設,系統會傳遞
"no"
。 -
永久
布林值 選填
此標記用於指出應用程式暫停時,連線是否應保持開啟 (請參閱管理應用程式生命週期)。預設值為「false」。載入應用程式時,可使用
getConnections
擷取先前以 Persistent=true 開啟的任何序列連線。 -
receiveTimeout
編號 選填
發生「逾時」
onReceiveError
事件之前,等待新資料所需的時間上限 (以毫秒為單位)錯誤。如果值為零,系統就不會針對連線產生逾時錯誤。預設值為 0。 -
sendTimeout
編號 選填
設定「逾時」來呼叫回呼之前,等待
send
作業完成的時間上限 (以毫秒為單位)錯誤。如果值為零,系統就不會觸發傳送逾時錯誤。預設值為 0。 -
stopBits
StopBits 選用
根據預設,系統會傳遞
"one"
。
DataBits
列舉
"七"
"八人"
DeviceControlSignals
屬性
-
點擊
布林值
CTS (清除傳送)。
-
dcd
布林值
DCD (資料電信業者偵測) 或 RLSD (接收線訊號/ 偵測)。
-
dsr
布林值
DSR (資料集已就緒)。
-
裡
布林值
RI (鈴聲指標)。
DeviceInfo
屬性
-
displayName
string optional
使用者可理解的基礎裝置的顯示名稱 (如果可透過主機驅動程式查詢)。
-
路徑
字串
裝置的系統路徑。這個引數應做為
path
引數傳遞至chrome.serial.connect
,才能連線至這部裝置。 -
productId
編號 選填
USB 產品 ID (如果可確定基礎裝置)。
-
vendorId
編號 選填
PCI 或 USB 廠商 ID (如果可以確定基礎裝置)。
HostControlSignals
屬性
-
dtr
布林值 選填
DTR (資料終端機已就緒)。
-
rts
布林值 選填
即時文字訊息 (要求傳送)。
ParityBit
列舉
"否"
「odd」
"平均"
ReceiveError
列舉
"已中斷連線"
連線已中斷。
"timeout"
至今未收到資料 receiveTimeout
毫秒。
"device_lost"
裝置最有可能與主機中斷連線。
"break"
裝置偵測到中斷情形。
"frame_error"
裝置偵測到取景錯誤。
"overrun"
超過字元緩衝區空間。下一個角色失蹤。
"buffer_overflow"
發生輸入緩衝區溢位。輸入緩衝區中沒有任何空間,或是在檔案結尾 (EOF) 字元後收到字元。
"parity_error"
裝置偵測到相似性錯誤。
"system_error"
系統發生錯誤,可能無法復原連線。
ReceiveErrorInfo
屬性
-
connectionId
數字
連線 ID。
-
錯誤
指出發生錯誤的錯誤代碼。
ReceiveInfo
屬性
-
connectionId
數字
連線 ID。
-
資料
ArrayBuffer
收到的資料。
SendError
列舉
"已中斷連線"
連線已中斷。
"待處理"
傳送內容已在處理中。
"timeout"
傳送逾時。
"system_error"
系統發生錯誤,可能無法復原連線。
SendInfo
屬性
-
bytesSent
數字
傳送的位元組數。
-
錯誤
SendError 選用
如果發生錯誤,則會顯示錯誤代碼。
StopBits
列舉
"一個"
"two"
方法
clearBreak()
chrome.serial.clearBreak(
connectionId: number,
callback?: function,
)
還原特定連線的字元傳輸,並將傳輸線設為非中斷狀態。
參數
-
connectionId
數字
連線的 ID,
-
回呼
函式 選用
callback
參數如下所示:(result: boolean) => void
-
結果
布林值
-
傳回
-
Promise<boolean>
Chrome 117 以上版本Promise 僅適用於 Manifest V3 及以上版本,其他平台需要使用回呼。
connect()
chrome.serial.connect(
path: string,
options?: ConnectionOptions,
callback?: function,
)
這個外掛程式能連線至指定的序列埠。
參數
-
路徑
字串
要開啟的序列埠系統路徑。
-
選項
通訊埠設定選項。
-
回呼
函式 選用
callback
參數如下所示:(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
傳回
-
Promise<ConnectionInfo>
Chrome 117 以上版本Promise 僅適用於 Manifest V3 及以上版本,其他平台需要使用回呼。
disconnect()
chrome.serial.disconnect(
connectionId: number,
callback?: function,
)
中斷與序列埠的連線。
參數
-
connectionId
數字
已開啟連線的 ID。
-
回呼
函式 選用
callback
參數如下所示:(result: boolean) => void
-
結果
布林值
-
傳回
-
Promise<boolean>
Chrome 117 以上版本Promise 僅適用於 Manifest V3 及以上版本,其他平台需要使用回呼。
flush()
chrome.serial.flush(
connectionId: number,
callback?: function,
)
整理指定連線的輸入和輸出緩衝區中的所有位元組。
參數
-
connectionId
數字
-
回呼
函式 選用
callback
參數如下所示:(result: boolean) => void
-
結果
布林值
-
傳回
-
Promise<boolean>
Chrome 117 以上版本Promise 僅適用於 Manifest V3 及以上版本,其他平台需要使用回呼。
getConnections()
chrome.serial.getConnections(
callback?: function,
)
擷取應用程式擁有且目前已開啟的序列埠連線清單。
參數
-
回呼
函式 選用
callback
參數如下所示:(connectionInfos: ConnectionInfo[]) => void
-
connectionInfos
-
傳回
-
Promise<ConnectionInfo[]>
Chrome 117 以上版本Promise 僅適用於 Manifest V3 及以上版本,其他平台需要使用回呼。
getControlSignals()
chrome.serial.getControlSignals(
connectionId: number,
callback?: function,
)
擷取特定連線的控制信號狀態。
參數
-
connectionId
數字
連線的 ID,
-
回呼
函式 選用
callback
參數如下所示:(signals: DeviceControlSignals) => void
傳回
-
Promise<DeviceControlSignals>
Chrome 117 以上版本Promise 僅適用於 Manifest V3 及以上版本,其他平台需要使用回呼。
getDevices()
chrome.serial.getDevices(
callback?: function,
)
傳回系統中可用序列裝置的相關資訊。每次呼叫此方法時,系統都會重新產生清單。
參數
-
回呼
函式 選用
callback
參數如下所示:(ports: DeviceInfo[]) => void
-
ports
-
傳回
-
Promise<DeviceInfo[]>
Chrome 117 以上版本Promise 僅適用於 Manifest V3 及以上版本,其他平台需要使用回呼。
getInfo()
chrome.serial.getInfo(
connectionId: number,
callback?: function,
)
擷取指定連線的狀態。
參數
-
connectionId
數字
已開啟連線的 ID。
-
回呼
函式 選用
callback
參數如下所示:(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
傳回
-
Promise<ConnectionInfo>
Chrome 117 以上版本Promise 僅適用於 Manifest V3 及以上版本,其他平台需要使用回呼。
send()
chrome.serial.send(
connectionId: number,
data: ArrayBuffer,
callback?: function,
)
將資料寫入指定的連線。
參數
-
connectionId
數字
連線的 ID,
-
資料
ArrayBuffer
要傳送的資料。
-
回呼
函式 選用
callback
參數如下所示:(sendInfo: SendInfo) => void
-
sendInfo
-
傳回
-
Promise<SendInfo>
Chrome 117 以上版本Promise 僅適用於 Manifest V3 及以上版本,其他平台需要使用回呼。
setBreak()
chrome.serial.setBreak(
connectionId: number,
callback?: function,
)
暫停特定連線的字元傳輸,並將傳輸線排入休息狀態,直到呼叫明分為止。
參數
-
connectionId
數字
連線的 ID,
-
回呼
函式 選用
callback
參數如下所示:(result: boolean) => void
-
結果
布林值
-
傳回
-
Promise<boolean>
Chrome 117 以上版本Promise 僅適用於 Manifest V3 及以上版本,其他平台需要使用回呼。
setControlSignals()
chrome.serial.setControlSignals(
connectionId: number,
signals: HostControlSignals,
callback?: function,
)
設定特定連線的控制信號狀態。
參數
-
connectionId
數字
連線的 ID,
-
要傳送到裝置的信號組合。
-
回呼
函式 選用
callback
參數如下所示:(result: boolean) => void
-
結果
布林值
-
傳回
-
Promise<boolean>
Chrome 117 以上版本Promise 僅適用於 Manifest V3 及以上版本,其他平台需要使用回呼。
setPaused()
chrome.serial.setPaused(
connectionId: number,
paused: boolean,
callback?: function,
)
暫停或取消暫停開啟的連線。
參數
-
connectionId
數字
已開啟連線的 ID。
-
已暫停
布林值
此標記用於註明是否要暫停或取消暫停。
-
回呼
函式 選用
callback
參數如下所示:() => void
傳回
-
承諾<void>
Chrome 117 以上版本Promise 僅適用於 Manifest V3 及以上版本,其他平台需要使用回呼。
update()
chrome.serial.update(
connectionId: number,
options: ConnectionOptions,
callback?: function,
)
更新開放式序列埠連線的選項設定。
參數
-
connectionId
數字
已開啟連線的 ID。
-
通訊埠設定選項。
-
回呼
函式 選用
callback
參數如下所示:(result: boolean) => void
-
結果
布林值
-
傳回
-
Promise<boolean>
Chrome 117 以上版本Promise 僅適用於 Manifest V3 及以上版本,其他平台需要使用回呼。
活動
onReceive
chrome.serial.onReceive.addListener(
callback: function,
)
從連線讀取資料時引發的事件。
參數
-
回呼
函式
callback
參數如下所示:(info: ReceiveInfo) => void
-
資訊
-
onReceiveError
chrome.serial.onReceiveError.addListener(
callback: function,
)
當執行階段等待序列埠資料時發生錯誤時,就會引發這個事件。引發此事件後,連結可以設為 paused
。"timeout"
錯誤不會暫停連線。
參數
-
回呼
函式
callback
參數如下所示:(info: ReceiveErrorInfo) => void