您的位置:極速下載站 → 電腦軟件 → 系統(tǒng)軟件 → 裝機(jī)必備 → WinUSB
有時(shí)候我們需要重裝系統(tǒng)或者進(jìn)入PE系統(tǒng),我們常用的方法是使用U盤啟動(dòng)盤,前提是你需要有一個(gè)U盤和一款U盤啟動(dòng)盤制作工具,怎么制作U盤啟動(dòng)盤?極速小編為你介紹一款國(guó)外的U盤啟動(dòng)制作工具(WinUSB),它可以幫你將多個(gè)系統(tǒng)例如Win7/Win8/Win10裝在你的U盤中,然后隨時(shí)啟動(dòng)你需要的系統(tǒng),非常強(qiáng)大。
基本介紹
如果您正在開發(fā)需要與PC通話的設(shè)備,那么涉及USB的可能性很大。對(duì)于每個(gè)USB設(shè)備,PC分配一個(gè)軟件驅(qū)動(dòng)程序。 Windows為符合定義的USB類(例如人機(jī)界面,打印機(jī)或大容量存儲(chǔ))的設(shè)備提供驅(qū)動(dòng)程序。如果您的設(shè)備不適合定義的類,則可以使用Microsoft的WinUSB驅(qū)動(dòng)程序。
在本文中,我將展示如何編程和訪問WinUSB設(shè)備。 WinUSB驅(qū)動(dòng)程序要求使用Windows XP SP2或更高版本的PC,包括Windows Vista和Windows 7。
每種用途的傳輸類型
每個(gè)USB數(shù)據(jù)傳輸位于PC或其他USB主機(jī)與設(shè)備端點(diǎn)之間。設(shè)備端點(diǎn)是存儲(chǔ)接收到的數(shù)據(jù)或要發(fā)送的數(shù)據(jù)的緩沖區(qū)。每個(gè)設(shè)備必須支持端點(diǎn)零,這是雙向的。另外,可選的端點(diǎn)地址每個(gè)都有一個(gè)數(shù)字(1-15)和一個(gè)方向(IN或OUT)。
即使端點(diǎn)駐留在設(shè)備上,USB規(guī)范也會(huì)從主機(jī)PC的角度定義端點(diǎn)方向。 IN端點(diǎn)向PC發(fā)送數(shù)據(jù),OUT端點(diǎn)從PC接收數(shù)據(jù)。在為設(shè)備端編寫代碼時(shí),這種命名約定可能會(huì)引起混淆!
USB如此多才多藝的一個(gè)原因是它支持四種傳輸類型,每種類型都有不同的優(yōu)勢(shì)。 WinUSB支持控制,批量和中斷傳輸?刂苽鬏斒褂枚它c(diǎn)零。其他傳輸類型可以使用端點(diǎn)1和更高端點(diǎn)。
控制傳輸提供了一種結(jié)構(gòu)化的方式來(lái)發(fā)送請(qǐng)求和數(shù)據(jù)并接收響應(yīng)?刂妻D(zhuǎn)移是唯一一種可以在單一轉(zhuǎn)移中雙向傳遞信息的類型。設(shè)備連接后,在一個(gè)名為枚舉的過程中,主機(jī)使用控制傳輸來(lái)了解設(shè)備。
WinUSB設(shè)備也可以使用控制傳輸在供應(yīng)商定義的請(qǐng)求中發(fā)送和接收數(shù)據(jù)。例如,您可以定義設(shè)置或讀取開關(guān)的請(qǐng)求,發(fā)送數(shù)據(jù)以配置設(shè)備操作或接收傳感器讀數(shù)。
控制轉(zhuǎn)移有兩個(gè)或三個(gè)階段。要了解新連接的設(shè)備,主機(jī)使用控制傳輸從設(shè)備請(qǐng)求稱為描述符的數(shù)據(jù)結(jié)構(gòu)。在安裝階段,主機(jī)發(fā)送請(qǐng)求。在數(shù)據(jù)階段,設(shè)備發(fā)送請(qǐng)求的描述符。在狀態(tài)階段,主機(jī)確認(rèn)接收描述符。主機(jī)也可以使用控制傳輸將信息發(fā)送到數(shù)據(jù)階段的設(shè)備,設(shè)備在狀態(tài)階段進(jìn)行確認(rèn)。有些請(qǐng)求沒有數(shù)據(jù)階段。
USB主機(jī)為控制傳輸保留一部分總線帶寬:低速和全速端點(diǎn)為10%,高速端點(diǎn)為20%。如果總線不忙,控制傳輸可以使用多于預(yù)留帶寬。但所有設(shè)備必須共享總線,因此在繁忙的總線上,控制權(quán)轉(zhuǎn)移可能不得不等待。
其他傳輸類型不具有多個(gè)階段,可以為任何目的傳輸數(shù)據(jù)。在另外一輛閑置的公交車上,批量轉(zhuǎn)運(yùn)是比較快的。但批量傳輸沒有保證的帶寬,所以在繁忙的公交車上,批量傳輸必須等待。批量傳輸?shù)某R娪猛臼谴蛴C(jī)和掃描儀,快速傳輸很好,但不是必需的。
對(duì)于中斷傳輸,主機(jī)保證來(lái)自IN端點(diǎn)的數(shù)據(jù)請(qǐng)求或向OUT端點(diǎn)發(fā)送數(shù)據(jù)的比較大時(shí)間間隔。中斷傳輸?shù)某R娪猛臼?a href="/zhuanti/shubiaoliandianqi/">鼠標(biāo)和鍵盤,它們需要將用戶輸入快速傳輸?shù)街鳈C(jī)。
等時(shí)傳輸具有保證的傳輸速率,但與其他傳輸類型不同,等時(shí)傳輸不使用確認(rèn),并且接收器沒有定義的方式來(lái)請(qǐng)求重新傳輸損壞的數(shù)據(jù)。等時(shí)傳輸?shù)某R娪猛臼橇魇揭纛l和視頻,用戶不會(huì)注意到或?qū)⑷萑桃恍⿹p壞或丟失的數(shù)據(jù)包。 WinUSB不支持同步傳輸。
使用USB框架
我的示例代碼是針對(duì)Microchip Technology的PIC18F4550單片機(jī)和MPLAB C18編譯器的。我在Microchip的PICDEM FS-USB開發(fā)板上測(cè)試了代碼。從我的網(wǎng)站上可以找到完整的用于PIC的WinUSB項(xiàng)目以及配套的Visual Basic和Visual C#應(yīng)用程序。
我的PIC代碼使用了Microchip的免費(fèi)USB框架,它是一組處理低級(jí)USB通信的源代碼模塊。使用框架可以節(jié)省很多時(shí)間和麻煩。
對(duì)于除端點(diǎn)0之外的每個(gè)端點(diǎn),設(shè)備都提供端點(diǎn)描述符。此列表顯示了每個(gè)方向上批量和中斷端點(diǎn)的端點(diǎn)描述符:
文件信息
文件大。5799384 字節(jié)
文件版本:3.7.0.1
MD5:76DB37A2F69135667083B048900E22FC
SHA1:5147CD450158D82E6AEE4F7FB242199471E69FF0
CRC32:2B50C289
官方網(wǎng)站:http://www.winusb.net/
相關(guān)搜索:U盤啟動(dòng) 啟動(dòng)盤 U盤啟動(dòng)盤