<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è) > 嵌入式系統 > 設計應用 > WindowsCE.Net下基于流驅動(dòng)的AD驅動(dòng)設計與實(shí)現

WindowsCE.Net下基于流驅動(dòng)的AD驅動(dòng)設計與實(shí)現

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

當應用程序不再使用該設備時(shí),它可調用CloseHandle()將設備關(guān)閉。當系統不再使用設備時(shí),應用程序可調用DeactivateDevice()函數把該驅動(dòng)程序卸載。

圖2 流驅動(dòng)工作原理順序圖

3 AD驅動(dòng)的實(shí)現

AD驅動(dòng)程序以動(dòng)態(tài)鏈接庫方式編寫(xiě),采用的標準形式。在A(yíng)DC_ Init函數中,主要進(jìn)行初始化。函數ADC_Open 只需要返回一個(gè)不為0的值來(lái)判斷打開(kāi)設備成功。在函數 ADC_Write 中通過(guò)寫(xiě)入要選擇的通道號和預分頻值,它控制通道的動(dòng)作。函數 ADC_Read 中的代碼最為關(guān)鍵,它完成讀取模擬量向數字量的轉換結果,其部分主要代碼如下:

pADCIOreg->rADCCON = (114)|(ADCPRS6)|(ch3); //建立通道號

pADCIOreg->rADCCON |= 0x1; // 開(kāi)始轉換

while(pADCIOreg->rADCCON 0x1); //檢測開(kāi)始位是否為低電平

while(!(pADCIOreg->rADCCON 0x8000)); //檢測轉換是否完畢標志位

return ( (double)(pADCIOreg->rADCDAT0 0x3ff) ); //返回轉換完的數值

其中 ch 表示采樣通道號, ADCPRS為預分頻值。其它函數均為空。

4 ADC驅動(dòng)封裝及其在Windows CE.Net中的添加www.51kaifa.com

通過(guò)以上的工作,編譯出一個(gè) DLL 函數,接著(zhù)建立一個(gè)自己的 def 文件,導出所需要的流接口函數。新建一個(gè)記事本文件,命名為 AdcDriver.Def :

LIBRARY AdcDriver

EXPORTS

ADC_Init

ADC_Open

ADC_Readwww.51kaifa.com

ADC_Write

ADC_Close

ADC_Deinit

然后編寫(xiě)一個(gè)注冊表文件, 命名為AdcDriver.reg :

[HKEY_LOCAL_MACHINE Drivers BuiltIn ADC]

"Index" = dword :1

"Prefix" = "ADC"

"Dll" = "AdcDriver.dll"

"Order" = dword :0

最后在 Platform Builder中新建一個(gè) CEC 文件,首先添加一個(gè)BuildMethod ,它的任務(wù)是復制注冊表到 Windows CE.Net 的系統目錄下面。然后再添加一個(gè) Bib File,其主要任務(wù)是把編譯的 AdcDriver.dll 文件添加到 Windows CE.Net 內核中去。保存寫(xiě)好的CEC文件。在Platform Builder 中 , 打開(kāi)“File”菜單,添加已經(jīng)編寫(xiě)好的 CEC 特征到系統選項中去。生成系統的時(shí)候, 添加 CEC 特性,這樣驅動(dòng)就加入到操作系統里了。

5 結速語(yǔ)

文中作者分析了 Windows CE.Net 的的工作原理順序,設計實(shí)現了Windows CE.Net下的AD驅動(dòng),并通過(guò)Platform builder將其編譯到操作系統。而本系統再配上 EVC 開(kāi)發(fā)的圖形界面軟件,可以開(kāi)發(fā)出各種使用的設備,如移動(dòng)數據采集器等,在現代化檢測領(lǐng)域有很強的實(shí)用性。本文作者創(chuàng )新點(diǎn):分析了Windows CE.Net下流驅動(dòng)的執行順序以及上層文件API如何調用流驅動(dòng),并給出將編寫(xiě)的驅動(dòng)加入到操作系統的詳細步驟,該驅動(dòng)設計簡(jiǎn)單,應用程序可以靈活調用。

參考文獻

[1] 李蒙,舒云星.Windows CE驅動(dòng)程序開(kāi)發(fā)[J].計算機工程與設計.2004, Vol.25, No.6 .

[2]何宗鍵. Windows CE嵌入式系統[M]. 北京航空航天大學(xué)出版社. 2006,9.www.51kaifa.com

[3] 楊軍波, 須文波. 基于WinCE環(huán)境的CAN適配卡驅動(dòng)程序的設計與實(shí)現[J]. 微計算機信息. 2005,21-12,2.

[4]那洪洋, 李楊, 楊文通. WinCE.Net系統下USB總線(xiàn)驅動(dòng)程序實(shí)現的研究[J]. 微計機應用. 2006, Vol.27, No.2.


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

評論


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