chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

3天內不再提示

觸覺智能RK3576開發(fā)板OpenHarmony開源鴻蒙系統(tǒng)USB控制傳輸功能示例

觸覺智能 ? 2025-09-30 16:31 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文介紹OpenHarmony開源鴻蒙系統(tǒng)USB控制傳輸功能實現(xiàn)及相關代碼示例,基于觸覺智能RK3576開發(fā)板Purple Pi OH2演示。

OpenHarmony的USB通信介紹

實現(xiàn)OpenHarmony開源鴻蒙設備與外部USB設備之間的連接管理、數(shù)據(jù)收發(fā)及設備信息交互,支持對USB 設備的枚舉、配置及數(shù)據(jù)傳輸控制,適用于各類USB接口進行設備通信的場景。如AHD高清攝像頭、密碼鍵盤、檢測模塊等。

USB控制傳輸主要用于主機(Host)和設備(Device)進行設備狀態(tài)的獲取和設置,進行設備屬性狀態(tài)的的控制。根據(jù)設備支持的端點類型支持控制傳輸讀和寫。

示例環(huán)境:

1、僅支持開源鴻蒙OpenHarmony L2標準系統(tǒng)上運行;

2、本示例已適配 API version 12 版本 SDK(兼容 API version 8 及以上版本);

3、本示例為Stage模型,需要使用DevEco Studio 5.0.2 Release及以上版本才可編譯運行。;

核心功能模塊實現(xiàn)邏輯

USB通信流程整體可分為3塊組成:設備枚舉→設備連接→數(shù)據(jù)傳輸/接收,流程圖示:

wKgZPGjblNuARTImAANnBoKUGwo596.png

各流程示例代碼,請繼續(xù)瀏覽下文。

設備枚舉模塊

負責掃描并識別當前連接的 USB 設備,獲取設備的基本信息(如設備ID、廠商 ID、產(chǎn)品 ID、接口類型等),基于 OpenHarmony 的 USB 服務接口實現(xiàn)設備列表的動態(tài)更新。代碼示例:

// 獲取USB設備列表 private getUsbDevices(): void { try { this.deviceList = usbManager.getDevices(); if (this.deviceList.length === 0) { this.log = '未檢測到USB設備'; } else { this.log = `找到 ${this.deviceList.length} 個USB設備`; } this.selectedDeviceIndex = -1; this.interfaces = []; this.endpoints = []; this.selectedInterfaceIndex = -1; this.selectedEndpointIndex = -1; this.isDeviceSelected = false; this.isReceiving = false; } catch (error) { this.log = `獲取設備列表失敗: ${error}`; console.error("獲取USB設備列表異常: ", error); } }

連接管理模塊

處理 USB 設備的連接與斷開邏輯,包括權限校驗、設備掛載狀態(tài)監(jiān)測及連接狀態(tài)回調通知,確保設備連接的穩(wěn)定性。代碼示例:

// 選擇設備 private async selectDevice(index: number): Promise { this.selectedDeviceIndex = index; this.selectedInterfaceIndex = -1; this.selectedEndpointIndex = -1; this.interfaces = []; this.endpoints = []; this.isDeviceSelected = false; this.isReceiving = false; try { let deviceName: string = this.deviceList[index].name;

// 申請操作指定設備的權限 let hasRight: boolean = await usbManager.requestRight(deviceName); console.info("usb device request right result: " + hasRight); if (!hasRight) { this.log = 'USB設備權限獲取失敗'; return; }


數(shù)據(jù)傳輸模塊

實現(xiàn)與 USB 設備的雙向數(shù)據(jù)傳輸,支持批量傳輸。主機→USB 設備進行數(shù)據(jù)發(fā)送,適用于向 USB 設備發(fā)送配置命令、控制參數(shù)等場景,需選擇 OUT方向端點(端點地址 direction=0),流程包括:解析用戶輸入的16進制數(shù)據(jù)、建立設備通信管道、聲明目標接口、調用 usbManager.bulkTransfer() 發(fā)送數(shù)據(jù)。代碼示例

// 發(fā)送數(shù)據(jù)到設備 private async sendDataToDevice(): Promise { if (this.selectedDeviceIndex === -1 || this.selectedInterfaceIndex === -1 || this.selectedEndpointIndex === -1) { this.log = '請先選擇設備、接口和端點'; this.showSendDataDialog = false; return; } if (!this.sendDataContent.trim()) { this.log = '發(fā)送數(shù)據(jù)不能為空'; return; }

數(shù)據(jù)接收模塊

USB 設備→主機進行數(shù)據(jù)發(fā)送,適用于從 USB 設備獲取狀態(tài)數(shù)據(jù)、采集數(shù)據(jù)等場景,需選擇 IN 方向端點(端點地址 direction=0x80),流程包括:建立設備通信管道、聲明目標接口、循環(huán)調用 usbManager.bulkTransfer() 讀取數(shù)據(jù)、解析數(shù)據(jù)為十六進制格式并展示。代碼示例:

// 開始接收數(shù)據(jù) private async startReceiveData(): Promise { if ( this.selectedDeviceIndex === -1 || this.selectedInterfaceIndex === -1 || this.selectedEndpointIndex === -1) { this.log = '請先選擇設備、接口和端點'; return ; }

更多代碼示例,請關注深圳觸覺智能電子發(fā)燒友

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

    關注

    60

    文章

    8472

    瀏覽量

    285707
  • 外設
    +關注

    關注

    0

    文章

    43

    瀏覽量

    12110
  • 鴻蒙開發(fā)板

    關注

    1

    文章

    31

    瀏覽量

    4863
  • OpenHarmony
    +關注

    關注

    33

    文章

    3970

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于RK3576開發(fā)板的TF卡槽使用說明

    RK3576開發(fā)板使用TF卡槽
    的頭像 發(fā)表于 05-07 09:24 ?2262次閱讀
    基于<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>的TF卡槽使用說明

    基于RK3576開發(fā)板的PWN使用說明

    RK3576開發(fā)板使用PWN教程及Demo
    的頭像 發(fā)表于 05-07 14:07 ?2463次閱讀
    基于<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>的PWN使用說明

    基于RK3576開發(fā)板的RTC使用說明

    文章主要展示RK3576開發(fā)板的RTC信息和快速上手例程
    的頭像 發(fā)表于 05-07 15:04 ?2513次閱讀
    基于<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>的RTC使用說明

    基于RK3576開發(fā)板的人臉識別算法

    RK3576開發(fā)板展示人臉識別算法例程和API說明
    的頭像 發(fā)表于 05-07 16:48 ?2895次閱讀
    基于<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>的人臉識別算法

    【米爾RK3576開發(fā)板評測】+項目名稱【米爾RK3576開發(fā)板評測】一個視頻和你共同認識一下米爾RK3576開發(fā)板

    的6TOPS算力開發(fā)板之一,已支持最新安卓14系統(tǒng)。 總體來說米爾RK3576開發(fā)板是值得大家花時間和精力去研究的一塊非常不錯的開發(fā)板
    發(fā)表于 12-18 20:50

    【作品合集】米爾RK3576開發(fā)板測評

    米爾RK3576開發(fā)板測評作品合集 產(chǎn)品介紹: RK3576 是瑞芯微一款面向AI市場推出的高性能處理器,它配備了四核Cortex-A72和四 核Cortex-A53 的 CPU,集成了6TOPS
    發(fā)表于 09-11 10:19

    米爾RK3576開發(fā)板特惠活動!

    近日,米爾電子發(fā)布基于瑞芯微RK3576核心開發(fā)板,RK3576作為國產(chǎn)熱門處理器,其高性能數(shù)據(jù)處理能力、領先的AI智能分析、強大的擴展
    的頭像 發(fā)表于 11-12 01:00 ?2392次閱讀
    米爾<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>特惠活動!

    如何在開源鴻蒙OpenHarmony開啟SELinux模式?RK3566鴻蒙開發(fā)板演示

    本文介紹開源鴻蒙OpenHarmony系統(tǒng)下,開啟/關閉SELinux權限的方法,觸覺智能Pur
    的頭像 發(fā)表于 11-18 19:03 ?1572次閱讀
    如何在<b class='flag-5'>開源</b><b class='flag-5'>鴻蒙</b><b class='flag-5'>OpenHarmony</b>開啟SELinux模式?<b class='flag-5'>RK</b>3566<b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)板</b>演示

    OpenHarmony屬性信息怎么修改?觸覺智能RK3566鴻蒙開發(fā)板來演示

    本文介紹開源鴻蒙OpenHarmony系統(tǒng)下,修改產(chǎn)品屬性信息的方法,觸覺智能Purple Pi
    的頭像 發(fā)表于 11-27 09:31 ?1624次閱讀
    <b class='flag-5'>OpenHarmony</b>屬性信息怎么修改?<b class='flag-5'>觸覺</b><b class='flag-5'>智能</b><b class='flag-5'>RK</b>3566<b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)板</b>來演示

    OpenHarmony怎么修改DPI密度值?觸覺智能RK3566鴻蒙開發(fā)板演示

    開源鴻蒙OpenHarmony系統(tǒng)下,修改DPI密度值的方法,觸覺智能Purple Pi OH
    的頭像 發(fā)表于 12-24 11:46 ?1684次閱讀
    <b class='flag-5'>OpenHarmony</b>怎么修改DPI密度值?<b class='flag-5'>觸覺</b><b class='flag-5'>智能</b><b class='flag-5'>RK</b>3566<b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)板</b>演示

    Linux系統(tǒng)更換開機logo方法教程,觸覺智能RK3562開發(fā)板演示

    本文介紹Linux系統(tǒng)更換開機logo方法教程,通用RK3566、RK3568、RK3588、RK3576
    的頭像 發(fā)表于 01-06 10:53 ?1660次閱讀
    Linux<b class='flag-5'>系統(tǒng)</b>更換開機logo方法教程,<b class='flag-5'>觸覺</b><b class='flag-5'>智能</b><b class='flag-5'>RK</b>3562<b class='flag-5'>開發(fā)板</b>演示

    觸覺智能RK3576開發(fā)板通過OpenHarmony5.0 XTS認證

    觸覺智能作為開源鴻蒙南向硬件廠家,旗下RK3576開發(fā)板及其核心
    的頭像 發(fā)表于 10-21 12:48 ?1135次閱讀
    <b class='flag-5'>觸覺</b><b class='flag-5'>智能</b><b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>通過<b class='flag-5'>OpenHarmony</b>5.0 XTS認證

    迅為如何在RK3576上部署YOLOv5;基于RK3576構建智能門禁系統(tǒng)

    迅為如何在RK3576開發(fā)板上部署YOLOv5;基于RK3576構建智能門禁系統(tǒng)
    的頭像 發(fā)表于 11-25 14:06 ?1932次閱讀
    迅為如何在<b class='flag-5'>RK3576</b>上部署YOLOv5;基于<b class='flag-5'>RK3576</b>構建<b class='flag-5'>智能</b>門禁<b class='flag-5'>系統(tǒng)</b>

    RK3576基于UVC協(xié)議USB攝像頭配置指南,手把手教你搞定

    瑞芯微RK3576芯片平臺基于UVC協(xié)議,配置USB攝像頭實現(xiàn)即插即用的適配采集功能,基于觸覺智能RK3
    的頭像 發(fā)表于 01-16 17:11 ?1073次閱讀
    <b class='flag-5'>RK3576</b>基于UVC協(xié)議<b class='flag-5'>USB</b>攝像頭配置指南,手把手教你搞定

    RK3576開發(fā)板OpenGL性能大起底,這數(shù)據(jù)我真的服了

    瑞芯微RK3576芯片作為一款中高端的八核Arm架構嵌入式處理器,集成Mali-G52MC3的GPU。本次OpenGL性能測試,基于觸覺智能RK3576
    的頭像 發(fā)表于 01-16 17:20 ?1764次閱讀
    <b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>OpenGL性能大起底,這數(shù)據(jù)我真的服了