光電旋轉編碼器的原理及應用方法
Windows CE流接口驅動程序模型要求驅動程序開發(fā)者編寫10個接口函數(shù),針對光電編碼器的驅動主要應完成設備初始化和數(shù)據(jù)讀取2個函數(shù)的編寫。WindowsCE設備文件名前綴由3個大寫字母組成,操作系統(tǒng)使用這3個字母來識別與流接口驅動程序相對應的設備。這里定義設備文件名前綴為“OED”(OptICal Encoder),其中設備初始化函數(shù)OED_Init()在Windows CE裝載驅動程序時用于創(chuàng)建中斷事件和中斷服務線程。在函數(shù)OED_Read()中將光電編碼器的狀態(tài)(OED_Status)返回。
3.4 封裝驅動程序并加入到WinCE中
根據(jù)上述方法編譯出動態(tài)鏈接庫(DLL)還不夠,因為它的接口函數(shù)還沒有導出,還需要告訴鏈接程序輸出什么樣的函數(shù),因此必須建立一個后綴名為def的文件。在本設計中為OpticalEnccder.def。下面是此文件的內容:
一個具體的流接口驅動程序和注冊表是密不可分的。向WinCE內核添加注冊表項的方法有兩種:一種是直接修改Platform Builder下的reg文件;另一種是自己編寫一個注冊表文件,通過添加組件的方法將動態(tài)鏈接庫文件添加到內核中。這里用第2種方法,將OpticalEncoder.dll添加到內核中。編寫的注冊表文件內容如下:
最后編寫一個CEC文件,完成對定制內核注冊表部分的修改并將OpticalEncoder.dll添加到系統(tǒng)內核中去,然后在Platform Builder中就可以直接添加已經(jīng)編寫好的驅動程序了。
結語
本文主要介紹了光電旋轉編碼器的原理及應用方法,并詳細介紹了WinCE驅動程序的結構,成功地開發(fā)出了光電編碼器在嵌入式操作系統(tǒng)WinCE下的驅動程序。實驗證明,該方法正確可行,程序運行穩(wěn)定可靠。
51單片機相關文章:51單片機教程
評論