WinCE 5 0邊做邊學 8

2021-08-22 12:50:17 字數 1780 閱讀 2166

handle* hdevice;

#define bufsize 256

wchar buffer[bufsize];

bool apientry dllmain( handle hmodule,

dword ul_reason_for_call,

lpvoid lpreserved

)handle ttt_init(lpctstr pcontext,lpcvoid lpvbuscontext)

bool ttt_deinit(dword hdevicecontext)

dword ttt_open(dword hdevicecontext,dword accesscode,dword sharemode)

bool ttt_close(dword hopencontext)

dword ttt_read(dword hopencontext,lpvoid pbuffer,dword count)

;dword ttt_write(dword hopencontext,lpcvoid pbuffer,dword count)

dword ttt_iocontrol(dword hopencontext,dword dwcode,pbyte pbufin,

dword dwlenin,pbyte pbufout,dword dwlenout,pdword pdwactualout)

void ttt_powerup(dword hdevicecontext)

void ttt_powerdown(dword hdevicecontext)

編譯,然後編譯該test資料夾下的test.def檔案,將這些實現的介面函式匯出:

library test.dll exports

ttt_init

ttt_deinit

ttt_open

ttt_close

ttt_powerup

ttt_powerdown

ttt_iocontrol

ttt_read

ttt_write

同時編輯此資料夾下的test.reg檔案,加入必要的登錄檔項:

[hkey_local_machine/drivers/builtin/test]

"devicearrayindex"=dword:0

"prefix"="ttt"

"dll"="test.dll"

"order"=dword:20

好了,乙個ttt裝置的流介面驅動就寫好了,從中可以看到,在寫驅動的時候比pb4要更加清晰,在源程式資料夾中的def檔案,reg檔案,bib檔案,db檔案,dat檔案和編譯鏈結時需要的bat檔案都被pb生成好了,開發人員只要作些必要的修改即可以,非常方便。

接下來,為了測試我們的驅動程式是否可以正常工作,還需要寫乙個測試程式,再次為平台新建乙個wce應用程式專案testttt,寫入如下**並編譯為exe檔案:

很簡單吧,你只要在上述的介面中訪問你的裝置埠讀寫資料就可以了,我只是舉個例子,希望能對你有所啟發,對於驅動程式部分的內容,就先告一段落吧,繼續關注後續文章吧!

WinCE 5 0邊做邊學 5

對於實時系統,如何除錯是乙個很難解決的問題,包括對系統核心的除錯,對驅動程式的除錯,對應用程式的除錯等。對於應用程式,通常各整合開發環境都提供了常規的單步跟蹤等除錯手段。而對於另兩個的除錯,platform builder除了為我們提供了常規的斷點跟蹤等手段以外,還和系統的源程式配合使用了一種新的除...

WinCE 5 0邊做邊學 3

主頁 文斌程式網 我們重點要說的還是ce的生成過程,即你在編譯平台的時候platform builder到底為你做了些什麼?實際上,ide在生成ce的過程當中共經歷了四個階段,分別是sysgen build copy make,即元件生成階段,編譯階段,release資料夾複製階段和映象打包階段。下...

WinCE 5 0邊做邊學 5

對於實時系統,如何除錯是乙個很難解決的問題,包括對系統核心的除錯,對驅動程式的除錯,對應用程式的除錯等。對於應用程式,通常各整合開發環境都提供了常規的單步跟蹤等除錯手段。而對於另兩個的除錯,platform builder除了為我們提供了常規的斷點跟蹤等手段以外,還和系統的源程式配合使用了一種新的除...