<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接口的虛擬示波器的開(kāi)發(fā)實(shí)現

基于USB接口的虛擬示波器的開(kāi)發(fā)實(shí)現

作者: 時(shí)間:2012-04-18 來(lái)源:網(wǎng)絡(luò ) 收藏
12px/18px 宋體, arial; TEXT-TRANSFORM: none; COLOR: rgb(95,95,95); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BACKGROUND-COLOR: rgb(255,255,255); orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"> ?。?)DriverUnload指向驅動(dòng)程序的清除例程。I/O管理器會(huì )在卸載驅動(dòng)程序前調用該例程。
 ?。?)DriverExtension→AddDevice指向驅動(dòng)程序的AddDevice函數。PnP管理器將為每個(gè)硬件實(shí)例調用一次AddDevice例程。
 ?。?)DriverStartIo驅動(dòng)程序使用標準的IRP(interrupt request package,中斷請求包)排隊。
 ?。?)MajorFunction驅動(dòng)程序可能需要處理幾種類(lèi)型的IRP,所以,應該設置與那幾種IRP類(lèi)型相對應的指針元素,使它們指向相應的派遣函數。根據虛擬儀器系統的實(shí)際要求,本驅動(dòng)程序所要處理的主功能IRP有:
IRP-MJ-CREATE;IRP-MJ-CLOSE;
IRP-MJ-DEVICE-CONTR;IRP-MJ-WRITE;
IRP-MJ-READ;IRP-MJ-SYSTEM-CONTROL;
IRP-MJ-PNP;IRP-MJ-POWER。
  在主入口例程中,必須設置和這些IRP類(lèi)型相對應的指針元素,使它們指向相應的派遣函數。
4 客戶(hù)服務(wù)軟件設計
  整個(gè)客戶(hù)服務(wù)軟件使用VC++編寫(xiě),分以下幾個(gè)主要模塊設計。
4.1 驅動(dòng)層與應用層通信模塊
  如果通信功能塊直接放在應用程序主線(xiàn)程中實(shí)現,那么,當應用程序與驅動(dòng)程序進(jìn)行數據通信時(shí),主界面就會(huì )凍結。為了解決這個(gè)問(wèn)題,我們直接創(chuàng )建一個(gè)子線(xiàn)程來(lái)單獨完成與驅動(dòng)程序的通信任務(wù),讓主界面專(zhuān)心于響應視窗界面的訊息。在子線(xiàn)程中通過(guò)調用Windows API函數來(lái)實(shí)現對USB設備進(jìn)行IO操作。其中,DeviceIoControl()函數用于傳送設備配置信息;CreateFile()用于創(chuàng )建設備對象;WriteFile()和ReadFile()用于對USB設備讀寫(xiě)數據。


關(guān)鍵詞: USB接口 虛擬示波器

評論


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