前一段時(shí)間在CH569上搞MSOS描述符使其支持了WinUSB,了結(jié)了一大心愿。最近又在學(xué)習(xí)Linux USB Gadget,不過(guò)對(duì)于這個(gè)自定義的設(shè)備(未知設(shè)備),當(dāng)然是難不到聰明的我,第一想到的是WinUSB通訊來(lái)測(cè)試,不過(guò)又要配置MSOS描述符,總感覺(jué)在走回頭路似的,所以本人就直接很暴力的使用了zadig對(duì)其強(qiáng)行安裝WinUSB驅(qū)動(dòng)。(當(dāng)然,這里使用libusb驅(qū)動(dòng)也可以的,不過(guò)走的是libusb路子。)設(shè)備有了,驅(qū)動(dòng)有了,但是測(cè)試的應(yīng)用沒(méi)有,怎么辦了?當(dāng)然是響應(yīng)毛主席的號(hào)召:自己動(dòng)手,豐衣足食。所以本人就打算手搓一個(gè)WinUSB調(diào)試工具。這個(gè)工具代碼其實(shí)很早就寫(xiě)了,對(duì)于自己使用,沒(méi)有任何問(wèn)題。畢竟源代碼在手,隨意的修改即可。不過(guò)自己也希望能分享出來(lái),對(duì)于手頭剛好要測(cè)試的同學(xué)來(lái)說(shuō),也可以提供一點(diǎn)小小的幫助。所以經(jīng)過(guò)本人痛定思痛,堅(jiān)苦卓絕的思想斗爭(zhēng),終于花了一點(diǎn)小的時(shí)間來(lái)完成了第一個(gè)版本。WinUSB調(diào)試工具當(dāng)前支持批量傳輸,同步傳輸(只能是整數(shù)包),中斷傳輸(應(yīng)該支持,本人沒(méi)有測(cè)試,反正根據(jù)Windows的設(shè)計(jì)來(lái)看,和批量傳輸做同樣的邏輯就可了),至于控制傳輸,本人還沒(méi)有做,如果要測(cè)試,大家可以使用BUSHOUND頂一下)。該工具運(yùn)行之后,會(huì)自動(dòng)枚舉可用的WinUsb設(shè)備,并顯示該設(shè)備的接口和端點(diǎn)信息。對(duì)于中斷和批量傳輸,直接使用端點(diǎn)和大小即可收發(fā)。對(duì)于同步傳輸,需要手動(dòng)選一個(gè)使用那個(gè)備用接口bAlternateSetting,然后使用端點(diǎn)的整數(shù)包大小即可收發(fā)數(shù)據(jù)。WinUSB的下載地址位于USB中文網(wǎng)首頁(yè)/資源/USB開(kāi)發(fā)調(diào)試工具/USB調(diào)試工具大全 頁(yè)面(https://www./article/detail-1192.html)中即可找到。軟件第一個(gè)版本,也沒(méi)經(jīng)過(guò)怎么測(cè)試,肯定BUG很多,所以大家如果使用遇到了,還是見(jiàn)諒。當(dāng)然也希望大家可以提意見(jiàn)。WinUSB調(diào)試工具的開(kāi)發(fā)主要參考WinUsb.h頭文件中的函數(shù)開(kāi)發(fā)。