<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于μC/OS-Ⅱ的嵌入式USB控制軟件的實(shí)現

基于μC/OS-Ⅱ的嵌入式USB控制軟件的實(shí)現

作者: 時(shí)間:2011-08-16 來(lái)源:網(wǎng)絡(luò ) 收藏

Host檢測到有Device插入后,進(jìn)行總線(xiàn)復位。然后Host使用默認地址0讀取設備描述符。獲取設備描述符的設備請求命令結構體為:
g.jpg
h.jpg
第1次讀取設備描述符時(shí),Host首先發(fā)送setup包;之后進(jìn)入主機讀取數據階段,Host發(fā)送in包,Device返回一個(gè)18 B的設備描述符,可以用一個(gè)結構體將其讀回。最后Host發(fā)送0 B的數據包作為狀態(tài)相應,設備返回ACK作為應答。用邏輯分析儀抓包,3個(gè)包如圖3所示。

本文引用地址:http://dyxdggzs.com/article/150349.htm

m.jpg


第1次讀取設備描述符后,Host依次進(jìn)行地址分配、第2次讀取設備描述符、讀取配置描述符、讀取描述符集、設置配置、讀取配置狀態(tài)和讀取接口狀態(tài),方法和第1次讀取設備描述符的方法一樣。
i.jpg
3.2 U盤(pán)兼容性
在設備枚舉階段將會(huì )碰到很多關(guān)于U盤(pán)兼容性的問(wèn)題。
(1)總線(xiàn)復位時(shí)間。不同型號的U盤(pán)對于總線(xiàn)復位時(shí)間的要求是不同的,比如金士頓1 GB的U盤(pán)需要的復位時(shí)間至少280 ms。在中為保險起見(jiàn),給予400 ms的復位時(shí)間。
(2)有些U盤(pán)的端點(diǎn)0是8 B payload的,大多數是64 B。對于8 B payload的U盤(pán),要嚴格從第1次獲取設備描述符時(shí)返回的第8字節獲取payload,否則盡管枚舉過(guò)程仍然能通過(guò),但是后面在分析32字節的配置描述符時(shí)候會(huì )出現問(wèn)題,沒(méi)有收到完整的配置描述符是分析不出端點(diǎn)1和端點(diǎn)2的地址以及端點(diǎn)payload的。
(3)在枚舉階段獲取字符串描述符的時(shí)候,要進(jìn)行判斷。因為有些U盤(pán)不支持返回字符串描述符,用if語(yǔ)句判斷,如果獲取不到字符串描述符就跳過(guò),不要返回失敗。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>