91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在線串口工具(R-WebEmbedded)

Rice嵌入式開發(fā)技術(shù)分享 ? 來源:Rice嵌入式 ? 作者:Rice嵌入式 ? 2023-12-15 14:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

對(duì)于嵌入式工程師來說,串口工具在開發(fā)和調(diào)試過程中必不可少的利器。工具能幫助我們發(fā)送和接收串行數(shù)據(jù),進(jìn)行設(shè)備通信和調(diào)試。通過串口工具,工程師可以實(shí)時(shí)監(jiān)控串口數(shù)據(jù),查看設(shè)備是否正常工作,同時(shí)也可以通過發(fā)送特定的命令來測(cè)試設(shè)備的反應(yīng)。

傳統(tǒng)的電腦應(yīng)用-串口助手,雖然也能滿足這些需求,但它們?cè)诒憬菪陨贤艿较拗?。它需要去網(wǎng)上下載,有些還需要安裝。

3c46c47e-9582-11ee-8850-92fbcf53809c.png3c658206-9582-11ee-8850-92fbcf53809c.png3c8d6faa-9582-11ee-8850-92fbcf53809c.png

相比之下,在線串口助手的出現(xiàn)為嵌入式工程師帶來了福音。它無需安裝、無需配置,只需通過瀏覽器即可使用。此外,在線串口助手通常提供更為直觀的界面和易于操作的功能,幫助工程師更高效地進(jìn)行工作。

博主最近看到網(wǎng)上有開發(fā)者--老大哥,開源了一個(gè)在線串口工具,其鏈接:https://gitee.com/itldg/web-serial-debug,其開源協(xié)議:Apache License 2.0。

通過上面的啟發(fā),博主想著也寫一個(gè)網(wǎng)頁(R-WebEmbedded),并集成該開源軟件,方便大家使用。

3c9dd5f2-9582-11ee-8850-92fbcf53809c.jpg

在開發(fā)在線串口助手之前,就必須先了解什么是web serial api。

R-WebEmbedded 說明

目前該網(wǎng)頁主要有兩個(gè)功能,開源軟件的瀏覽和在線串口工具。

R-WebEmbedded主界面說明--主要包含:標(biāo)題,風(fēng)火輪官方鏈接,博主的gitee,github鏈接,以及功能模塊

3cacb20c-9582-11ee-8850-92fbcf53809c.jpg

R-WebEmbedded--開源軟件包,該界面展示了博主提交給RT-Threead的軟件包。

3cb66e00-9582-11ee-8850-92fbcf53809c.png

R-WebEmbedded - 在線串口助手,該功能集成了老大哥的開源的串口工具。界面分為:串口配置區(qū),串口數(shù)據(jù)收發(fā)區(qū),串口快捷方式區(qū)。

3cba4e4e-9582-11ee-8850-92fbcf53809c.png

什么是Web Serial API

串口是一個(gè)雙向通信接口,允許字節(jié)發(fā)送和接收數(shù)據(jù)。

Web Serial API為網(wǎng)站提供了一種使用JavaScript對(duì)串行設(shè)備進(jìn)行讀寫的方法。串行設(shè)備可以通過用戶系統(tǒng)上的串行端口連接,也可以通過模擬串行端口的可移動(dòng)USB藍(lán)牙設(shè)備連接。換句話說,Web Serial API通過允許網(wǎng)站與串行設(shè)備(如微控制器和3D打印機(jī))通信來連接網(wǎng)絡(luò)和物理世界。

如何使用Web Serial API

瀏覽器支持檢測(cè)

檢查瀏覽器是否支持Web Serial API,有些瀏覽器可能不支持該功能,可以選擇Edge或Chrome瀏覽器。

if(!('serial'innavigator)){
alert('當(dāng)前瀏覽器不支持串口操作,請(qǐng)更換Edge或Chrome瀏覽器')
}

打開串口

Web Serial API在設(shè)計(jì)上是異步的。這可以防止網(wǎng)站UI在等待輸入時(shí)阻塞,這一點(diǎn)很重要,因?yàn)榇袛?shù)據(jù)可以在任何時(shí)候接收,需要一種方法來偵聽它。要打開串口,首先訪問一個(gè)SerialPort對(duì)象。為此,您可以通過調(diào)用navigator.serial.requestPort()來提示用戶選擇一個(gè)串行端口,或者從navigator.serial.getPorts()中選擇一個(gè),該方法返回一個(gè)先前授予該網(wǎng)站訪問權(quán)限的串行端口列表。

//提示用戶選擇一個(gè)串口。
constserialPort=awaitnavigator.serial.requestPort();

//獲取用戶之前授予該網(wǎng)站訪問權(quán)限的所有串口。
constserialPort=awaitnavigator.serial.getPorts();
document.getElementById('serial-select-port').addEventListener('click',async()=>{
try{
awaitnavigator.serial.requestPort().then(async(port)=>{
serialPort?.close()
awaitserialPort?.forget()
serialPort=port
serialStatuChange(true)
})
}catch(e){
console.error('獲取串口權(quán)限出錯(cuò)'+e.toString())
}
})

3cd3d54e-9582-11ee-8850-92fbcf53809c.png

當(dāng)我選擇好了SerialPort對(duì)象之后,調(diào)用serialPort.open(),打開串口。其中打開串口可以指定其選項(xiàng),選項(xiàng)是有默認(rèn)值,并且是可選的。

dataBits:每幀的數(shù)據(jù)位數(shù)(7或8)。
stopBits:一幀結(jié)束時(shí)的停止位數(shù)(1或2)。
parity:校驗(yàn)?zāi)J?,可以是none,偶數(shù),奇數(shù)。
bufferSize:應(yīng)該創(chuàng)建的讀寫緩沖區(qū)大小(必須小于16MB)。
flowControl:流控模式(none或hardware)。

關(guān)閉串口

當(dāng)我們不再使用串口時(shí),我們需要將串口對(duì)象關(guān)閉,調(diào)用serialPort.close()。如果串行端口的readable和writable被解鎖,則關(guān)閉該串行端口,這意味著已經(jīng)為其各自的讀寫成員調(diào)用了releaseLock()。但是,當(dāng)使用循環(huán)從串行設(shè)備連續(xù)讀取數(shù)據(jù)時(shí),端口Readable將一直被鎖定,直到遇到錯(cuò)誤。在這種情況下,調(diào)用reader.cancel()將強(qiáng)制reader.read()立即解析為{value: undefined, done: true},從而允許循環(huán)調(diào)用reader.releaseLock()。

asyncfunctioncloseSerial(){
if(serialOpen){
serialOpen=false
reader?.cancel()
serialToggle.innerHTML='打開串口'
disabledOptions(false)
}
}

asyncfunctionreadData(){
while(serialOpen&&serialPort.readable){
reader=serialPort.readable.getReader()
try{
while(true){
const{value,done}=awaitreader.read()
if(done){
break
}
dataReceived(value)
}
}catch(error){
}finally{
reader.releaseLock()
}
}
awaitserialPort.close()
}

串口讀數(shù)據(jù)

Web Serial API中的輸入流由streams API處理。

串口連接建立之后,SerialPort對(duì)象的readable屬性返回ReadableStream。這些將用于從串行設(shè)備接收數(shù)據(jù), 其使用Uint8Array實(shí)例進(jìn)行數(shù)據(jù)傳輸。

當(dāng)新數(shù)據(jù)從串行設(shè)備到達(dá)時(shí),port.readable.getReader().read()異步返回兩個(gè)屬性:value和一個(gè)done的布爾值。如果done為真,則串行端口已經(jīng)關(guān)閉,或者沒有更多的數(shù)據(jù)輸入。調(diào)用port.readable.getReader()創(chuàng)建一個(gè)讀取器并將其鎖定為readable。當(dāng)可讀被鎖定時(shí),串口不能被關(guān)閉。

asyncfunctionreadData(){
while(serialOpen&&serialPort.readable){
reader=serialPort.readable.getReader()
try{
while(true){
const{value,done}=awaitreader.read()
if(done){
break
}
dataReceived(value)
}
}catch(error){
}finally{
reader.releaseLock()
}
}
awaitserialPort.close()
}

串口寫數(shù)據(jù)

Web Serial API中的輸出流由streams API處理。

串口連接建立之后,SerialPort對(duì)象的writable屬性返回WritableStream。這些將數(shù)據(jù)發(fā)送到串行設(shè)備, 其使用Uint8Array實(shí)例進(jìn)行數(shù)據(jù)傳輸。

要將數(shù)據(jù)發(fā)送到串行設(shè)備,請(qǐng)將數(shù)據(jù)傳遞到port.writable.getWriter().write()。在port.writable. getwriter()上調(diào)用releaseLock()是為了稍后關(guān)閉串口。

串口工具提供了hex和字符串發(fā)送格式。

asyncfunctionsendHex(hex){
constvalue=hex.replace(/s+/g,'')
if(/^[0-9A-Fa-f]+$/.test(value)&&value.length%2===0){
letdata=[]
for(leti=0;i

總結(jié)

在線串口助手提供了更佳便捷的開發(fā)模式,無需下載安裝串口助手。

R-WebEmbedded - 在線嵌入式工具,其登錄網(wǎng)站https://ricechen0.gitee.io/r-web-embedded/

R-WebEmbedded - 在線嵌入式工具開源代碼鏈接https://gitee.com/RiceChen0/r-web-embedded

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5199

    文章

    20454

    瀏覽量

    334270
  • 串***具
    +關(guān)注

    關(guān)注

    1

    文章

    9

    瀏覽量

    8174
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    KM在線監(jiān)測(cè)實(shí)現(xiàn)設(shè)備高效管理#在線監(jiān)測(cè)

    在線監(jiān)測(cè)
    KM預(yù)測(cè)性維護(hù)專家
    發(fā)布于 :2026年02月27日 14:24:25

    M4-R1 開源鴻蒙(OpenHarmory)開發(fā)板丨串口調(diào)試助手實(shí)戰(zhàn)案例

    支持與高集成度設(shè)計(jì),成為開發(fā)者體驗(yàn)與學(xué)習(xí)鴻蒙系統(tǒng)的理想平臺(tái)。無論是智慧家居、教學(xué)實(shí)驗(yàn),還是設(shè)備通信,M4-R1都能提供穩(wěn)定可靠的開發(fā)環(huán)境。本次分享的實(shí)戰(zhàn)案例——串口
    的頭像 發(fā)表于 12-31 11:16 ?8663次閱讀
    M4-<b class='flag-5'>R</b>1 開源鴻蒙(OpenHarmory)開發(fā)板丨<b class='flag-5'>串口</b>調(diào)試助手實(shí)戰(zhàn)案例

    串口調(diào)試步驟(適合免驅(qū)動(dòng)的232串口設(shè)備)

    密碼切換到root超級(jí)管理下 apt update 更新插件 apt-get install cutecom 安裝系統(tǒng)自帶的串口調(diào)試工具 cutecom 輸入串口測(cè)試的指令會(huì)彈出一個(gè)圖形界面如下圖 32
    的頭像 發(fā)表于 12-17 17:23 ?1461次閱讀
    <b class='flag-5'>串口</b>調(diào)試步驟(適合免驅(qū)動(dòng)的232<b class='flag-5'>串口</b>設(shè)備)

    KM在線監(jiān)測(cè)方案保障水泵安全生產(chǎn)#在線監(jiān)測(cè)

    在線監(jiān)測(cè)
    KM預(yù)測(cè)性維護(hù)專家
    發(fā)布于 :2025年11月28日 09:18:13

    DigiKey 推出業(yè)界首款電源配置工具 使用在線工具一鍵獲取電源解決方案,省時(shí)省力,高效提速設(shè)計(jì)過程

    。 使用 DigiKey 全新的在線電源配置工具,幫助工程師、設(shè)計(jì)師和系統(tǒng)集成商節(jié)省時(shí)間,加快設(shè)計(jì)過程。 這款直觀的在線工具專為工程師、設(shè)計(jì)師和系統(tǒng)集成商開發(fā),通過快速選擇輸出、電壓、
    的頭像 發(fā)表于 11-27 10:50 ?532次閱讀
    DigiKey 推出業(yè)界首款電源配置<b class='flag-5'>工具</b> 使用<b class='flag-5'>在線</b><b class='flag-5'>工具</b>一鍵獲取電源解決方案,省時(shí)省力,高效提速設(shè)計(jì)過程

    有沒有工具可以測(cè)試電能質(zhì)量在線監(jiān)測(cè)裝置的采樣率?

    測(cè)試電能質(zhì)量在線監(jiān)測(cè)裝置的采樣率需要結(jié)合硬件工具、軟件分析和標(biāo)準(zhǔn)信號(hào)注入,以下是經(jīng)過驗(yàn)證的專業(yè)工具及實(shí)操方案: 一、核心工具與測(cè)試方法 1. 高精度標(biāo)準(zhǔn)信號(hào)源(必備) 通過模擬已知頻率
    的頭像 發(fā)表于 11-07 14:07 ?686次閱讀
    有沒有<b class='flag-5'>工具</b>可以測(cè)試電能質(zhì)量<b class='flag-5'>在線</b>監(jiān)測(cè)裝置的采樣率?

    有哪些工具可以用于電能質(zhì)量在線監(jiān)測(cè)裝置時(shí)鐘模塊自動(dòng)同步異常的檢測(cè)?

    檢測(cè)電能質(zhì)量在線監(jiān)測(cè)裝置時(shí)鐘模塊自動(dòng)同步異常,需根據(jù)同步方式(PTP/IEEE 1588、GPS / 北斗、NTP)選擇針對(duì)性工具,以下是覆蓋硬件、軟件、協(xié)議分析的全維度工具方案: 一、通用
    的頭像 發(fā)表于 10-22 14:26 ?416次閱讀

    怎樣確保自動(dòng)化工具在電能質(zhì)量在線監(jiān)測(cè)裝置的安全防護(hù)檢查中的準(zhǔn)確性?

    ? 確保自動(dòng)化工具在電能質(zhì)量在線監(jiān)測(cè)裝置安全防護(hù)檢查中的準(zhǔn)確性,需圍繞 “ 工具本質(zhì)可靠性、場(chǎng)景適配性、結(jié)果可驗(yàn)證性、全生命周期管控 ” 四大核心,從工具選型、校準(zhǔn)溯源、算法優(yōu)化、配置
    的頭像 發(fā)表于 09-23 17:42 ?615次閱讀

    破解平壓平模切機(jī)監(jiān)測(cè)難題!KMPHM在線監(jiān)測(cè)方案大揭秘 #在線監(jiān)測(cè)

    在線監(jiān)測(cè)
    KM預(yù)測(cè)性維護(hù)專家
    發(fā)布于 :2025年09月16日 16:26:25

    如何利用外部校驗(yàn)工具驗(yàn)證電能質(zhì)量在線監(jiān)測(cè)裝置的準(zhǔn)確性?

    利用外部校驗(yàn)工具驗(yàn)證電能質(zhì)量在線監(jiān)測(cè)裝置(以下簡(jiǎn)稱 “監(jiān)測(cè)裝置”)準(zhǔn)確性的核心邏輯是:通過 “標(biāo)準(zhǔn)信號(hào)源” 或 “高精度參考設(shè)備” 提供已知的、準(zhǔn)確的電能參數(shù),將監(jiān)測(cè)裝置的測(cè)量值與標(biāo)準(zhǔn)值進(jìn)行對(duì)比
    的頭像 發(fā)表于 09-11 17:24 ?825次閱讀
    如何利用外部校驗(yàn)<b class='flag-5'>工具</b>驗(yàn)證電能質(zhì)量<b class='flag-5'>在線</b>監(jiān)測(cè)裝置的準(zhǔn)確性?

    KM告訴你 人工監(jiān)測(cè)VS在線監(jiān)測(cè) 誰才是效率王者?#在線監(jiān)測(cè)

    在線監(jiān)測(cè)
    KM預(yù)測(cè)性維護(hù)專家
    發(fā)布于 :2025年08月15日 10:06:36

    KM在線監(jiān)測(cè)標(biāo)桿計(jì)劃招募中#在線監(jiān)測(cè)

    在線監(jiān)測(cè)
    KM預(yù)測(cè)性維護(hù)專家
    發(fā)布于 :2025年07月25日 13:41:08

    KMPHM在線監(jiān)測(cè)系統(tǒng) 讓設(shè)備故障無處遁形#在線監(jiān)測(cè)#振動(dòng)在線監(jiān)測(cè)

    在線監(jiān)測(cè)
    KM預(yù)測(cè)性維護(hù)專家
    發(fā)布于 :2025年05月22日 16:30:08

    設(shè)計(jì)評(píng)審利器——在線評(píng)審工具ReviewHub

    設(shè)計(jì)評(píng)審利器——在線評(píng)審工具ReviewHub傳統(tǒng)的評(píng)審會(huì)議模式,有著諸多挑戰(zhàn):評(píng)審人員時(shí)間難以統(tǒng)一?會(huì)議記錄過于繁瑣?如何快速將評(píng)審內(nèi)容與設(shè)計(jì)圖紙進(jìn)行有效整合?如何妥善保存評(píng)審記錄?在科技飛速發(fā)展
    的頭像 發(fā)表于 03-21 11:02 ?846次閱讀
    設(shè)計(jì)評(píng)審利器——<b class='flag-5'>在線</b>評(píng)審<b class='flag-5'>工具</b>ReviewHub

    請(qǐng)問有什么好用的串口工具嗎?

    有什么好用的串口工具嗎,求推薦
    發(fā)表于 03-10 06:28