關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > Windows CE6.0的DM9000A流接口驅動開發

        Windows CE6.0的DM9000A流接口驅動開發

        作者: 時間:2012-05-23 來源:網絡 收藏

        發送函數dm9000_send(pInBuf,nInBufSize)獲取流接口函數傳入的發送數據指針和相應數據長度,然后驅動DM發送數據,其工作流程如圖4所示。

        g.JPG

        4 CE 6.0系統下流驅動程序的使用

        4.1 流驅動程序的加載

        流接口驅動程序需要按一定的方式配置后才能被系統識別并編譯。其配置的主要流程如圖5所示。

        h.JPG

        將流驅動程序加入定制系統之后還需要添加相應的注冊表啟動信息,在platform.reg文件中添加以下內容:

        [HKEY_LOCAL_MACHINE\Drivers\BuiltIn\DM9]

        “Index”=dword:1

        “Order”=dword:30

        “Prefix”=“DM9”

        “DLL”=“DM9.dll”

        為使生成的DLL文件能夠被包括在燒寫文件中并下載到開發板上,還需在platform.bib文件中加入相應代碼,內容如下:

        IF BSP_NODM91

        DM9.dll $(FLATRELEASEDIR)\DM9.dll NK SHK

        ENDIF BSP_NODM9 !

        經過以上的配置之后,流接口驅動程序已經配置完成,只需要對 CE 6.0的系統定制工程重新編譯,并將生成的鏡像文件下載到開發板上,即可通過文件API操作DM的數據收發。

        4.2 應用程序對流驅動程序的調用

        CE啟動時會自動枚舉注冊表HKEY_LOCAL_MACHINE\Drivers\BuiltIn目錄下的驅動信息,并加載相應驅動程序的動態鏈接庫,然后執行初始化接口函數——DM9_Init()。在驅動程序成功加載之后,應用程序對硬件的操作就只需調用文件API便可實現,但前提是相應的操作必須在驅動程序中有定義,并且分配了操作碼。對于DM的數據發送,其文件API代碼如下:

        ……

        hDm9=CreateFile(TEXT(“DM91:”),GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);

        該代碼調用文件API打開設備進行讀寫操作,得到文件操作的句柄名hDm9。

        DeviceIoControl(hDm9,DM9_SendFrame,&SendData,sizeof(SendData),NULL,0,&dwReturn,Null);

        ……

        該代碼調用文件API對設備發送操作命令。其中,hDm9告訴系統要操作的設備為DM9000A;DM9 SendFrame為發送數據的操作碼,這必須與驅動程序中定義的相一致,也就是讓系統知道進行的是什么操作;&SendData為發送的數據幀首地址;sizeof(SendData)為發送數據的長度……



        關鍵詞: Windows 9000A CE6

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 盐山县| 石嘴山市| 开原市| 华阴市| 彰化市| 洛南县| 枝江市| 剑河县| 连城县| 江津市| 青海省| 霍邱县| 扶余县| 永新县| 定远县| 句容市| 平顺县| 哈巴河县| 搜索| 苗栗县| 习水县| 黄梅县| 盘锦市| 海兴县| 沐川县| 内黄县| 女性| 广元市| 大余县| 六盘水市| 东山县| 芦山县| 泽普县| 冷水江市| 南投市| 萝北县| 栾川县| 昭通市| 皋兰县| 昂仁县| 报价|