<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è) > 模擬技術(shù) > 設計應用 > USB入門(mén)總結

USB入門(mén)總結

作者: 時(shí)間:2012-04-18 來(lái)源:網(wǎng)絡(luò ) 收藏
要的請求都被正確的響應的話(huà),這個(gè)時(shí)候如果電腦里有正確的驅動(dòng),電腦就會(huì )去加載這個(gè)驅動(dòng),如果是第一次插入這個(gè)設備,還要把驅動(dòng)安裝一下,然后設備就進(jìn)入正常工作了,電腦會(huì )顯示“這個(gè)已經(jīng)成功安裝并可以應用了”。
這里捎帶著(zhù)說(shuō)一下端點(diǎn)(endpoint)的概念,一般一個(gè)設備都會(huì )有數個(gè)端點(diǎn),端點(diǎn)就是一個(gè)數據緩沖控制區(FIFO),每個(gè)緩沖區相當于有一個(gè)出口一個(gè)進(jìn)口的池子,數據通過(guò)進(jìn)口進(jìn)入到池子,然后你再在固件里去用這些數據。固件往電腦寫(xiě)數據,也是把數據先放到池子里,然后打開(kāi)出口,就可以干自己的事情,不用一個(gè)個(gè)的把數據發(fā)出了,池子的出口自動(dòng)把數據流出。
一般的端口0是用來(lái)做標準請求響應用的,也就是在枚舉階段用到。我一般把端口1定義為出(OUT),端口2定義為入(IN)(注意,這個(gè)OUT和IN是相對與電腦的,也就是說(shuō)OUT是數據從電腦出去到設備,IN是設備的數據進(jìn)入電腦)。這些定義也是在標準請求中去告訴電腦的。
接下來(lái)就可以實(shí)現與電腦的通訊了,你把數據放到相應的池子里就行了。下面就可以自己定義通訊的數據格式了。比如控制開(kāi)發(fā)板上的8個(gè)LED的第一個(gè)燈亮,那么上位機發(fā)送數據0x55,0x01,0x80,0xaa。我們就可以規定第一個(gè)數據是啟示位,遇到這個(gè)表明開(kāi)始一次控制指令,0x01表示這個(gè)是控制燈亮暗的指令,0x80表示LED的控制數據,最高位是1,表示第一個(gè)亮,其他位是0,表示都暗。最后一個(gè)數據是0xaa,表示這是結束。其實(shí)所謂的數據協(xié)議不過(guò)就是自己定義的一套讓通訊雙方都能正確理解對方的數據格式。電腦比較是電腦,什么都要規定好了,它才能正確的工作。
三,驅動(dòng)程序
對于快速開(kāi)發(fā)用Driverstudio就可以了,我先裝了VC6.0,然后裝了DDK2600,最后裝了Driverstudio,網(wǎng)上有說(shuō)這個(gè)順序不容易出問(wèn)題,我也沒(méi)時(shí)間去試別的順序會(huì )出怎么樣的特效,姑且不管他是否在忽悠,先這樣按了沒(méi)壞處。
我一開(kāi)始比較新潮的裝了DriverStudio3.2版本,然后按網(wǎng)上的方法破解了,生成了驅動(dòng)是能打開(kāi)設備,但是就是傳輸不了數據,搞了兩天還是不行,后來(lái)想到是不是3.2版本太新了?或者破解沒(méi)完整?然后卸載了3.2裝了3.1,果然可以了,真不知道是Compuware做了手腳故意玩我還是本人愚笨弄錯了哪里。
驅動(dòng)生成的步驟可以在百度,Google里搜“10分鐘完成一個(gè)驅動(dòng)程序”能出來(lái)一


大堆,要是你嫌搜索麻煩就直接點(diǎn)這個(gè)算了http://www.elecfans.com/soft/161/2006/20060325363.html按那個(gè)步驟操作就可以了,根據向導操作完了以后,VC就會(huì )出來(lái)一個(gè)驅動(dòng)程序框架了,如果你在這個(gè)時(shí)候編譯一下就可你會(huì )碰到很多問(wèn)題,我的操作是這樣的。首先把DDK的庫編譯一下,操作網(wǎng)上有, 網(wǎng)上有云:
1.啟動(dòng)Visual C++ 。
2.選擇菜單 File|Open Workspace。打開(kāi)位于DriverStudio/DriverWorks/Source/vdwlibs.dsw的工作空間文件。
3.選擇菜單 Build|Batch Build,在彈出的對話(huà)框中選擇你想編譯的庫。
4.點(diǎn)擊Build編譯你選擇的庫。
然后在VC的Driverstudio的工具條點(diǎn)擊“change environment variables”,在第一個(gè)選型卡把DDK的路徑選上,我的是C:WINDDK2600。然后點(diǎn)OK,接下來(lái)點(diǎn)DriverStudio工具條的編譯,就可以了,如果你還是碰到問(wèn)題,你可以把VC顯示的錯誤復制到百度。


上一頁(yè) 1 2 3 4 下一頁(yè)

關(guān)鍵詞: USB 入門(mén)總結

評論


相關(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>