在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

在線串口工具(R-WebEmbedded)

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

掃碼添加小助手

加入工程師交流群

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

傳統(tǒng)的電腦應用-串口助手,雖然也能滿足這些需求,但它們在便捷性上往往受到限制。它需要去網(wǎng)上下載,有些還需要安裝。

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

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

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

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

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

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

R-WebEmbedded 說明

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

R-WebEmbedded主界面說明--主要包含:標題,風火輪官方鏈接博主的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

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

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

如何使用Web Serial API

瀏覽器支持檢測

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

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

打開串口

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

//提示用戶選擇一個串口。
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)限出錯'+e.toString())
}
})

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

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

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

關(guān)閉串口

當我們不再使用串口時,我們需要將串口對象關(guān)閉,調(diào)用serialPort.close()。如果串行端口的readable和writable被解鎖,則關(guān)閉該串行端口,這意味著已經(jīng)為其各自的讀寫成員調(diào)用了releaseLock()。但是,當使用循環(huán)從串行設備連續(xù)讀取數(shù)據(jù)時,端口Readable將一直被鎖定,直到遇到錯誤。在這種情況下,調(diào)用reader.cancel()將強制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對象的readable屬性返回ReadableStream。這些將用于從串行設備接收數(shù)據(jù), 其使用Uint8Array實例進行數(shù)據(jù)傳輸。

當新數(shù)據(jù)從串行設備到達時,port.readable.getReader().read()異步返回兩個屬性:value和一個done的布爾值。如果done為真,則串行端口已經(jīng)關(guān)閉,或者沒有更多的數(shù)據(jù)輸入。調(diào)用port.readable.getReader()創(chuàng)建一個讀取器并將其鎖定為readable。當可讀被鎖定時,串口不能被關(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對象的writable屬性返回WritableStream。這些將數(shù)據(jù)發(fā)送到串行設備, 其使用Uint8Array實例進行數(shù)據(jù)傳輸。

要將數(shù)據(jù)發(fā)送到串行設備,請將數(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)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5148

    文章

    19637

    瀏覽量

    316891
  • 串口工具
    +關(guān)注

    關(guān)注

    1

    文章

    9

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

    設計評審利器——在線評審工具ReviewHub

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

    請問有什么好用的串口工具嗎?

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

    通過RS232對MSC1210Y3進行在線燒錄,可以用什么工具軟件?

    通過RS232對MSC1210Y3進行在線燒錄,可以用什么工具軟件
    發(fā)表于 01-23 07:57

    KMPHM在線監(jiān)測平臺實現(xiàn)設備高效管理#在線監(jiān)測#振動監(jiān)測#振動在線監(jiān)測

    在線監(jiān)測
    KM預測性維護專家
    發(fā)布于 :2024年12月24日 13:34:35

    PI Expert在線設計工具新增功能

    PI Expert是我們值得信賴的在線設計工具,其性能和功能仍在不斷增強當中。
    的頭像 發(fā)表于 12-19 09:47 ?703次閱讀

    貝思科爾ReviewHub在線評審工具開放限時免費試用名額,快速領(lǐng)取!

    深圳市貝思科爾軟件技術(shù)有限公司(以下簡稱:貝思科爾)一直致力于為行業(yè)提供創(chuàng)新且實用的解決方案,現(xiàn)重磅推出DX-BST原理圖智能工具、XL-BST原理圖智能工具和ReviewHub在線評審工具
    的頭像 發(fā)表于 12-03 03:00 ?59次閱讀
    貝思科爾ReviewHub<b class='flag-5'>在線</b>評審<b class='flag-5'>工具</b>開放限時免費試用名額,快速領(lǐng)取!

    為什么通信要使用虛擬串口串口助手?

    串口助手和虛擬串口是什么?串口助手和虛擬串口串口通信中很常見。串口助手是用于
    的頭像 發(fā)表于 11-15 01:04 ?3731次閱讀
    為什么通信要使用虛擬<b class='flag-5'>串口</b>和<b class='flag-5'>串口</b>助手?

    KM振動在線監(jiān)測系統(tǒng)助力設備煥新升級#振動在線監(jiān)測#振動監(jiān)測#在線監(jiān)測

    在線監(jiān)測
    KM預測性維護專家
    發(fā)布于 :2024年10月23日 14:59:48

    串口工具UartAssist5.0.exe

    串口工具UartAssist5.0.exe
    發(fā)表于 10-21 10:57 ?18次下載

    賽盛EMC在線學習平臺:揭秘學習寶典&amp;amp;工具秘籍!

    《賽盛在線學習及工具應用》線上發(fā)布會SESOnline【經(jīng)驗結(jié)晶,智啟未來之路】在電磁兼容浩瀚海洋中,我們深耕近二十年,積累了豐富的EMC(電磁兼容)技術(shù)經(jīng)驗及培訓經(jīng)驗。此刻,這份深厚積累匯成知識
    的頭像 發(fā)表于 10-11 08:03 ?1757次閱讀
    賽盛EMC<b class='flag-5'>在線</b>學習平臺:揭秘學習寶典&amp;amp;<b class='flag-5'>工具</b>秘籍!

    F28M35x串口在線升級設計

    電子發(fā)燒友網(wǎng)站提供《F28M35x串口在線升級設計.pdf》資料免費下載
    發(fā)表于 09-02 10:58 ?0次下載
    F28M35x<b class='flag-5'>串口</b><b class='flag-5'>在線</b>升級設計

    好用的串口工具

    好用的串口工具
    發(fā)表于 08-15 10:35 ?1次下載

    更強的無線(雙)串口數(shù)據(jù)記錄 調(diào)試工具

    ,通過網(wǎng)絡可在線查看歷史日志(無需斷電),實時日志,無線調(diào)試;設計此工具的初心是希望可以替代傳統(tǒng)的usb轉(zhuǎn)串口工具,方便設備數(shù)據(jù)采集和串口數(shù)
    的頭像 發(fā)表于 08-02 08:11 ?1205次閱讀
    更強的無線(雙)<b class='flag-5'>串口</b>數(shù)據(jù)記錄 調(diào)試<b class='flag-5'>工具</b>

    OpenAI將推出在線搜索工具“SearchGPT”

    科技巨頭OpenAI正悄然醞釀一場搜索領(lǐng)域的變革,其最新推出的在線搜索工具“SearchGPT”正悄然挑戰(zhàn)著Alphabet旗下谷歌的搜索霸主地位。這款被寄予厚望的新工具,目前正處于緊鑼密鼓的測試
    的頭像 發(fā)表于 07-26 16:54 ?935次閱讀
    主站蜘蛛池模板: 国产精品福利一区二区亚瑟 | 免费爱爱网 | 亚洲成在 | 天天爽夜夜爽天天做夜夜做 | 午夜久久免影院欧洲 | 色偷偷男人天堂 | 亚洲激情都市 | 国产大片黄在线看免费 | 久久久久久91精品色婷婷 | 久久精品国产夜色 | 在线人成精品免费视频 | 色在线视频网站 | 国产免费高清视频在线观看不卡 | 欧美草比 | 手机看片1024在线观看 | 色噜噜亚洲男人的天堂 | 国产三级自拍视频 | 久久精品视频网站 | 新版天堂资源中文在线 | 免费看的黄网站 | 免费在线看a | 婷婷爱五月天 | 污视频18高清在线观看 | 亚洲综合校园春色 | 香蕉午夜视频 | 黄色爱爱视频 | 国产亚洲第一 | 欧美黑人性受xxxx精品 | 国产资源在线观看 | 婷婷色爱区综合五月激情韩国 | 免费精品一区二区三区在线观看 | 扒开双腿猛进湿润18p | 国模私拍视频 | 5566成人免费视频观看 | 性天堂网| 亚洲免费mv| 高清不卡免费一区二区三区 | 男女午夜特黄毛片免费 | 五月婷婷在线视频观看 | 天天躁日日躁狠狠躁中文字幕老牛 | 免费看黄在线观看 |