娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

HID+CDC復合設備在WIN10的識別問題

發布者:純真年代最新更新時間:2024-06-20 來源: elecfans關鍵字:HID  CDC  復合設備  WIN10  識別問題 手機看文章 掃描二維碼
隨時隨地手機看文章

1 問題現象

有客戶使用STM32F405并參照ST官方USB標準庫下的HID+CDC的示例代碼做產品,發現在WIN7上使用得好好的,可放到WIN10上,CDC第一次能夠識別,再次拔插后就不能再識別,且此后無論插拔多少次都無法再識別,除非再次上電,又會重復上述現象,只有板子上電后第一次才能正確被識別,后續均不行。


2 問題分析

客戶使用 ST官方示例代碼STM32_USB-Host-Device_Lib_V2.2.0ProjectUSB_Device_ExamplesComposite_ExamplesCDC_HID_Composite當我嘗試使用此示例代碼重現客戶所遇到的問題時,發現此代碼在WIN7運行OK,但與客戶不同的是,我測試到的情況是在WIN10下CDC一次都無法識別,HID卻一直可以識別。

下面來分析下問題,既然WIN7下HID和CDC都能正常識別,放在WIN10上才不正常,那么初步可以判斷,此問題可能與WIN10操作系統的USB主機驅動實現有關。

通過USB分析儀分析客戶代碼在WIN10下USB枚舉異常的數據通訊:

Figure 1 第一次USB枚舉過程

上圖是客戶代碼第一次正常枚舉的通訊數據,從圖中可以看出,WIN10 USB主機在正常獲取HID報告描述符后,緊接著會獲取虛擬串口狀態和設置波特率,這樣就正常枚舉結束了。我們再來看看采集到的異常USB枚舉過程:

Figure 2 異常枚舉過程

上圖是WIN10下異常枚舉過程。從圖中可以看出,WIN10系統上USB主機在獲取到設備描述符和配置描述符后直接將設備掛起了。很明顯,WIN10系統的USB主機驅動實現對設備描述符或者配置描述符的內容并不認可,才會導致無法識別HID+CDC復合設備。

我們不妨檢查下客戶代碼中的設備描述符:

Figure 3 獲取的設備描述符

復合設備的class,subclass,protocol

必須為0xef,0x02,0x01,這里

VID=0x0483,PID=0x3256(Cube庫下為0x5740,但這個不重要),接下來看配置描述符:

Figure 4 win10不能識別的配置描述符

由此可見,客戶的描述符是HID interface + IAD + CDC interfaces結構。對于WIN7,這種結構可以識別,但對于WIN10,這種結構WIN10未必能夠兼容,我們嘗試在HID interface外部加上一層IAD結構,使其成為IAD1 + HID interface + IAD2 + CDC interfaces結構,此時客戶的問題得以解決,在WIN10也可以正確識別了,修改后的描述符結構如下:

Figure 5 win10能夠正確識別的配置描述符

結束本篇實戰經驗之前,讓我們再次回顧IAD的概念:

IAD(Interface Association Descriptor),為USB設備定義了一個標準來表述捆綁在一個邏輯功能(比如這里的CDC虛擬串口)上的多個接口的聚合的方法。USB協會分配了一個設備級別的類編碼(即圖3中0xEF),使用IAD的設備必須使用它(如圖3的設備描述符);這樣可以很容易在設備枚舉時就能識別出采用了IAD的設備。IAD描述符通常放在它所要捆綁的多個接口的接口描述符之前。


3 結論

在WIN10系統中,建議復合設備每個邏輯功能的接口描述符前都搭載一個IAD描述符,不論這個邏輯功能是單個接口描述符完成(比如這里的HID功能)還是要由多個接口描述符完成(比如這里的CDC功能)。


關鍵字:HID  CDC  復合設備  WIN10  識別問題 引用地址:HID+CDC復合設備在WIN10的識別問題

上一篇:一文知道串口通信的幀同步問題
下一篇:智能汽車監控系統電路設計

推薦閱讀最新更新時間:2025-06-12 18:09

解決MSP-FET430UIF-CDC V3驅動安裝不上的問題
操作系統:Win7 64bit 將LSD-FET430UIF仿真器升級到V3版本,出現了驅動安裝不上去的問題,主要按如下步驟解決,現記錄一下解決過程。 一、下載V3驅動程序,FET430UIF-V3 ,下載路徑:https://download.csdn.net/download/qingwufeiyang12346/9425225 二、插上仿真器,手動搜索驅動安裝路徑,出現“系統找不到指定文件”錯誤。 將驅動文件夾下的mdmcpq文件復制到C:Windowsinf下; 將驅動文件夾下的usbser.sys文件復制到C:WindowsSystem32下; 然后再次手動更新驅動,仍然出現“系統找不到指定文件”的錯誤。 刪
[單片機]
站在信息安全角度 人臉識別面臨五大問題
? ? ? ?隨著算法的完善,生物識別技術已獲得重大突破,在越來越多的領域不斷跨越用戶接受的門檻,其市場呈快速爆發之勢。其中,人臉識別的國內市場規模在未來五年有望達到千億級別。盡管市場是十分看好的,但就人臉識別技術本身來說,技術要得意應用仍有許多需要克服的問題。此文是一個有十幾年信息安全行業經驗的從業人員,站在信息安全的角度探討一下為什么不能在互聯網上遠程使用人臉識別技術識別身份,歡迎各路神仙拍磚。 ? ? ? ? ?? 第一,網上識別身份是一個嚴肅的信息安全問題 ? ? ? ? ?身份識別作為信息安全問題,本不用解釋,要解釋的是什么樣的信息安全問題。具體來說,身份一詞在漢語中有多種解釋,拋開職務、學歷、職稱的屬性
[安防電子]
玩轉mini2440開發板之【在64位WIN7/WIN10系統中安裝USB驅動】
玩mini2440開發板已經很多年了,雖然玩的不怎么精通,但是一直都有在弄。而電腦的操作系統也從最終的32位WinXP提升到了32位的Win7,而今更是到了64位的Win10。然后,卻帶來了一個很嚴重的問題,友善之臂官方原配的FriendlyARM USB Download Driver Setup_20090421驅動文件根本不能用于64位的Win10系統中。所以,這段時間我一直在倒騰怎么在64位的Win10系統中安裝mini2440開發板的USB驅動,不然開發板就只能變成一塊磚頭了。 好在今天終于在網上找到高人的妙招了,總結如下: 1、下載工具包:https://download.csdn.net/download/l
[單片機]
玩轉mini2440開發板之【在64位WIN7/<font color='red'>WIN10</font>系統中安裝USB驅動】
新“病毒”勒索軟件化身Win10更新工具正作祟
如果你收到一封聲稱來自微軟的電子郵件,并要求安裝一個所謂的Win10關鍵更新,那么千萬要當心了。 安全公司TrustWave發現了一項新的惡意活動,黑客通過發送警告性電子郵件和欺騙Windows更新來用Cyborg Ransomware感染設備。 攻擊采用了一種相當經典的方法,首先是發送給潛在目標電子郵件,并包括附加在消息上的虛假更新。 看起來使用JPG文件擴展名的UPDATE實際上是一個可執行文件,一旦啟動,就會從GitHub下載額外文件。 “文件bitcoingenerator.exe將從miserbtc2020下載,該帳戶包含在btcgenerator存儲庫下,在我們調查期間活動了幾天,但現在已被刪除。它就
[嵌入式]
新“病毒”勒索軟件化身<font color='red'>Win10</font>更新工具正作祟
Lumia 950 XL成功運行Win10 ARM系統:下一步搞定exe
Lumia手機死了,Windows 10 Mobile手機系統也死了,但是很多忠實“軟粉”、大神級開發者、黑客仍然對Windows手機平臺興趣濃厚,不斷各種折騰。 比如Ben|imbushuo,此前就已經在一臺Lumia 950 XL上成功安裝了UEFI BIOS,實現了Windows 10的引導。 在月初的視頻中,Lumia 950 XL這臺2015年底的老旗艦已經成功搞定了Windows 10 ARM的啟動,進展到了安裝階段。 從最新成果來看,這個安裝界面并不是唬人的,Ben成功地進入到了桌面,據他介紹,Windows 10 ARM在Lumia 950 XL上運行地相當好。 計算機屬性中,也成功
[手機便攜]
Win10推出兩年,更新率與市場份額艱難上升
調研機構NetMarketShare送出的7月數據顯示,Windows 10市場占比提升了0.83%,其整體份額達到了27.63%。下面就隨嵌入式小編一起來了解一下相關內容吧。 不知不覺,Windows 10推出已經兩年了,而它的更新率還在艱難的攀升著。 調研機構NetMarketShare送出的7月數據顯示,Windows 10市場占比提升了0.83%,其整體份額達到了27.63%。 由于WannaCry和Petya等勒索病毒的出現,Win10本月的增速相比上月提升明顯,要知道6月份其增長幅度僅有0.02%。 目前,Windows 7依然霸占這頭把交椅,不過市場份額從上月49.04%降至48.91%,而排在第三的Windo
[嵌入式]
微軟將推Lumia 940系列Win10旗艦
? ?? 或許是為了占領更多市場份額的緣故,微軟在接受Lumia品牌后推出的皆為低端機型,但這并不意味著微軟高端領域將毫無作為。日前,根據香港媒體BLOGJACK的爆料稱,微軟將在年底推出兩款搭載Win10系統的Lumia旗艦機型,分別配有5.2英寸和5.7英寸觸控屏,開發代號則為TalkMan和CityMan,都將裝載2000萬像素攝像頭,同樣主攻拍照功能。 將推兩款旗艦   實際上,此前國外媒體便曾經披露稱,微軟Lumia手機在今年上半年的機型皆為中低端產品,最快要到今年秋季才會有重量級機型登場。而現在,香港媒體BLOGJACK則給出了更具體的信息,聲稱微軟將在年底推出兩款搭載Win10系統的Lumia旗艦機型,其開發代號為
[手機便攜]
基于嵌入式系統的USB(HID設備設計
  0 引言   目前嵌入式系統在數字化電子產品領域應用越來越廣泛。隨著其成本的降低,大有取代單片機的趨勢。USB 設備以其小巧、便攜、即插即用、成本低廉等優勢在當前的桌面應用中有相當的比重,尤其是HID(人機接口)設備,其免驅的特點(不用安裝驅動程序)更是給用戶帶來極大方便。現在市場上USB 設備多是由專門的USB 控制芯片來實現其應用控制,芯片內集成了USB 協議,成本較高。PCB 板的面積較大。本文提出了僅用一片MCU(微處器-單片機)或嵌入式系統芯片來實現其與PC 機的通訊的方法。就單片機而言,多數單片機速度較慢,對事件的響應能力較弱,對全速USB 應用不是很好的選擇。而嵌入式系統,由于其速度較之單片機快很多,內部RA
[嵌入式]
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 县级市| 志丹县| 通城县| 缙云县| 崇明县| 阜康市| 泽州县| 南充市| 尼勒克县| 永靖县| 安庆市| 家居| 韶关市| 姜堰市| 自治县| 定日县| 农安县| 筠连县| 宜兰县| 南汇区| 金山区| 达尔| 襄垣县| 栖霞市| 隆昌县| 天柱县| 射洪县| 古蔺县| 东源县| 梓潼县| 永新县| 临朐县| 卢龙县| 延安市| 乐业县| 开封县| 阿鲁科尔沁旗| 渝中区| 三门县| 吐鲁番市| 宝兴县|