CAN驅(qū)動(dòng)程序開發(fā)_第1頁
CAN驅(qū)動(dòng)程序開發(fā)_第2頁
CAN驅(qū)動(dòng)程序開發(fā)_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

本文格式為Word版,下載可任意編輯——CAN驅(qū)動(dòng)程序開發(fā)4CAN總線驅(qū)動(dòng)程序開發(fā)

4.1流接口驅(qū)動(dòng)程序基本知識(shí)

CAN驅(qū)動(dòng)程序使用的是WindowsCE.net流接口驅(qū)動(dòng)模型,每個(gè)流接口驅(qū)動(dòng)程序必需實(shí)現(xiàn)一組標(biāo)準(zhǔn)的函數(shù),用來完成標(biāo)準(zhǔn)的文件I/O函數(shù)和電源管理函數(shù),這些函數(shù)提供給WindowsCE.net操作系統(tǒng)的內(nèi)核使用。這些函數(shù)尋常叫做流接口驅(qū)動(dòng)程序的DLL接口,見表4.1.1

表4.1.1流接口驅(qū)動(dòng)程序要實(shí)現(xiàn)的DLL接口函數(shù)名稱XXX_CloseXXX_DeinitXXX_InitXXX_IOControlXXX_OpenXXX_PowerDownXXX_PowerUpXXX_ReadXXX_SeekXXX_Write描述在驅(qū)動(dòng)程序關(guān)閉的時(shí)候應(yīng)用程序通過CloseHandle()函數(shù)調(diào)用這個(gè)函數(shù)當(dāng)設(shè)備管理器卸載一個(gè)驅(qū)動(dòng)程序的時(shí)候調(diào)用這個(gè)函數(shù)當(dāng)設(shè)備管理器初始化一個(gè)具體的設(shè)備的時(shí)候調(diào)用這個(gè)函數(shù)上層的軟件通過DeviceIoControl()函數(shù)可以調(diào)用這個(gè)函數(shù)在開啟一個(gè)設(shè)備驅(qū)動(dòng)程序時(shí)應(yīng)用程序通過CreateFile()函數(shù)調(diào)用此函數(shù)在系統(tǒng)掛起前調(diào)用這個(gè)函數(shù)在系統(tǒng)從新啟動(dòng)前調(diào)用這個(gè)函數(shù)在一個(gè)設(shè)備驅(qū)動(dòng)程序處于開啟狀態(tài)時(shí)由應(yīng)用程序通過ReadFile()調(diào)用此函數(shù)對(duì)設(shè)備的數(shù)據(jù)指針進(jìn)行操作,由應(yīng)用程序通過SetFilePointer()函數(shù)調(diào)用這個(gè)函數(shù)在一個(gè)設(shè)備驅(qū)動(dòng)程序處于開啟狀態(tài)時(shí)由應(yīng)用程序通過WriteFile()調(diào)用此函數(shù)其中電源管理的部分是可選的,在實(shí)際開發(fā)中接口名稱中的XXX三個(gè)字母由設(shè)備驅(qū)動(dòng)的設(shè)備文件名前綴代替。例如,假使一個(gè)流接口驅(qū)動(dòng)程序的設(shè)備文件名前綴為“CAN〞,那么它相應(yīng)要實(shí)現(xiàn)的DLL接口就為CAN_Close,CAN_Deinit,CAN_Init,CAN_IOControl等。

4.2使用PlatformBuilder創(chuàng)立CAN流接口驅(qū)動(dòng)程序

在PlatformBuilder里面新建一個(gè)工程,單擊菜單中的[File],在彈出的下拉菜單中選擇[NewProjectorFileName…]后彈出PlatformBuilder的新建工程對(duì)話框,如圖4.1.1所示。由于流接口驅(qū)動(dòng)程序是以動(dòng)態(tài)鏈接庫形式出現(xiàn)的,所以我們選擇[WCEDynamic-LinkLibrary]。

圖4.1.1創(chuàng)立驅(qū)動(dòng)程序工程

在[Projectname:]欄中輸入工程名稱〞CAN〞并單擊[OK]按鈕。選擇創(chuàng)立動(dòng)態(tài)鏈接庫的種類為[AsimpleWindowsCEDLLapplication],如圖4.1.2所示。最終點(diǎn)擊[Finish]按鈕,完成創(chuàng)立操作。

圖4.1.2動(dòng)態(tài)鏈接庫的選擇

再次單擊菜單中[File],在彈出的下拉菜單中選擇[NewProjectorFileName…],彈出PlatformBuilder的新建工程向?qū)?duì)話框,如圖4.1.3所示。

圖4.1.3新建工程向?qū)?/p>

選擇選項(xiàng)卡[File],在出現(xiàn)的列表內(nèi)選擇[C++SourceFile],在[File]輸入框中輸入文件名“CAN〞,選定[Addtoproject]復(fù)選框,并在其下拉列表框中選擇要添加到哪一個(gè)工程中去,我們這里選擇〞CAN〞工程,最終單擊[OK]按鈕。此時(shí)PB就會(huì)為建立的工程創(chuàng)立一個(gè)名稱

為〞CAN.cpp〞的文件,在[FileViw]選項(xiàng)卡內(nèi)選擇這個(gè)文件,參與相應(yīng)的頭文件,如圖4.1.4所示。

圖4.1.4開啟CAN.cp

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論