下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、旋轉(zhuǎn)編碼器使用方法本文來(lái)源:www.yumeng-咨詢電話:021-5413 6071 一個(gè)具體的流接口驅(qū)動(dòng)程序和注冊(cè)表是密不可分的。向WinCE內(nèi)核添加注冊(cè)表項(xiàng)的方法有兩種:一種是直接修改Platform Builder下的reg文件;另一種是自己編寫一個(gè)注冊(cè)表文件,通過(guò)添加組件的方法將動(dòng)態(tài)鏈接庫(kù)文件添加到內(nèi)核中。這里用第2種方法,將OpticalEncoder.dll添加到內(nèi)核中。編寫的注冊(cè)表文件內(nèi)容如下: 3 光電編碼器驅(qū)動(dòng)程序的設(shè)計(jì)3.1 光電編碼器與S3C2410的硬件接口光電編碼器與S3C24lO的接口電路如圖4所示。光電編碼器的A、B相為集電極開(kāi)路輸出,由于S3C2410的I/O
2、口電平為3.3 V,所以將其通過(guò)電阻上拉到3.3V后再分別接到CPU的EINT0和EINT1上;將Pl直接接到3.3V,P2通過(guò)電阻下拉到GND。當(dāng)旋鈕按下時(shí),P2口輸出為高電平,否則輸出為低電平。工作狀態(tài)下,將EINTO、EINTl配置成上升沿和下降沿均觸發(fā)的外部中斷,將EINT2配置成上升沿觸發(fā)的中斷,旋鈕按下時(shí)EINT2引腳產(chǎn)生上升沿觸發(fā)中斷。3.2 外部中斷初始化及中斷服務(wù)程序的編寫首先必須完成CPU的I/O口和中斷的初始化工作,然后再編寫中斷處理程序。具體分為4個(gè)步驟:初始化I/O口。在Port_Init(函數(shù)中,將EINT0和EINTl初始化為上升沿和下降沿均觸發(fā)的中斷。將EINT
3、2初始化為上升沿觸發(fā)的中斷。添加中斷號(hào)。在oalint.h下添加光電編碼器中斷向量的宏定義。代碼為#define SYSINTR_OED(SYSINTR_FIRMWARE+20添加中斷的初始化、禁止、復(fù)位等函數(shù),分別在OEMInterruptEnable(、OEMInterruptDisable(、OEM-InterruptDone(等函數(shù)中加入相關(guān)代碼。返同中斷標(biāo)識(shí),由OEMInterruptHandler(函數(shù)返回中斷標(biāo)識(shí)(SYSINTR_OED。3.3 編寫流接口驅(qū)動(dòng)程序Windows CE.net把中斷處理分成兩個(gè)部分:中斷服務(wù)程序(ISR和中斷服務(wù)線程(IST。TSR通常要求越短、越
4、快越好,它的唯一任務(wù)就是返回中斷標(biāo)識(shí)。正由于ISR很小,只能做少量的處理,因此中斷處理器就調(diào)用IST執(zhí)行大多數(shù)的中斷處理。中斷服務(wù)線程(IST在從waitForSingleObject(函數(shù)得到中斷已經(jīng)發(fā)生的信號(hào)前一直保持空閑;當(dāng)接收到中斷信號(hào)后,它就在本機(jī)設(shè)備驅(qū)動(dòng)程序的PDD層調(diào)用子程序,這些程序反過(guò)來(lái)訪問(wèn)硬件以獲得硬件的狀態(tài)。IST使用InterruptInitialize(函數(shù)來(lái)注冊(cè)自己,然后使用WaitForSingleObject(函數(shù)等待中斷信號(hào)。如果這時(shí)中斷信號(hào)到來(lái),則應(yīng)將光電編碼器的狀態(tài)記錄下來(lái),保存在變量OED_Status中。OED_Status=1表示旋鈕按下,OED_S
5、tatus=2表示旋鈕逆時(shí)針旋轉(zhuǎn),OED_Status=3表示旋鈕順時(shí)針旋轉(zhuǎn)。這里還有一種比較簡(jiǎn)單的鑒相規(guī)則,具體步驟是,當(dāng)創(chuàng)建線程時(shí)讀出EINTl的電平狀態(tài)并保存在變量PreEINTl中,每次中斷到來(lái)時(shí)首先判斷EINT2是否為高電平。如果為高電平,則說(shuō)明按鈕按下;如果EINT2為低電平,則判斷EINTO電平是否與PreEINTl相同。如果相同,則說(shuō)明旋鈕逆時(shí)針旋轉(zhuǎn);反之,旋鈕順時(shí)針旋轉(zhuǎn),判斷的流程如圖5所示。 Windows CE流接口驅(qū)動(dòng)程序模型要求驅(qū)動(dòng)程序開(kāi)發(fā)者編寫10個(gè)接口函數(shù),針對(duì)光電編碼器的驅(qū)動(dòng)主要應(yīng)完成設(shè)備初始化和數(shù)據(jù)讀取2個(gè)函數(shù)的編寫。WindowsCE設(shè)備文件名前綴由3個(gè)大寫字母組成,操作系統(tǒng)使用這3個(gè)字母來(lái)識(shí)別與流接口驅(qū)動(dòng)程序相對(duì)應(yīng)的設(shè)備。這里定義設(shè)備文件名前綴為“OED”(OptICal Encoder,其中設(shè)備初始化函數(shù)OED_Init(在Windows CE裝載驅(qū)動(dòng)程序時(shí)用于創(chuàng)建中斷事件和中斷服務(wù)線程。在函數(shù)OED_Read(中將光電編碼器的狀態(tài)(OED_Status返回。3.4 封裝驅(qū)動(dòng)程序并加入到WinCE中根據(jù)上述方法編譯出動(dòng)態(tài)鏈接庫(kù)(DLL還
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 通信原理 課件
- 重慶市2025屆高三10月適應(yīng)性考試語(yǔ)文試題及答案
- 第11課 元朝的統(tǒng)治(說(shuō)課稿)2023-2024學(xué)年七年級(jí)歷史下冊(cè)同步教學(xué)(河北專版)
- 《高考天機(jī)題》課件
- 涉外警務(wù)概論-2
- 出租各種塔吊合同范例
- 幕墻安裝勞務(wù)合同范例
- 婚慶東西租用合同模板
- 廣告設(shè)計(jì)服務(wù)合同范例
- 部編版八年級(jí)下冊(cè)歷史第四單元民族團(tuán)結(jié)與祖國(guó)統(tǒng)一練習(xí)題四
- 急診科臨床診療指南-技術(shù)操作規(guī)范更新版
- 精通版六年級(jí)上冊(cè)小學(xué)英語(yǔ) Unit 3 單元知識(shí)點(diǎn)小結(jié)
- 名字的來(lái)歷-完整版PPT
- 公路新建工程標(biāo)準(zhǔn)化質(zhì)量管理手冊(cè)
- 大象版2022-2023三年級(jí)科學(xué)上冊(cè)3.2《溶解與攪拌》課件
- 《人體解剖學(xué)》課程思政教學(xué)設(shè)計(jì)案例(一等獎(jiǎng))
- 氣候影響著人類活動(dòng)人類活動(dòng)對(duì)氣候的影響
- 水電解質(zhì)、酸堿平衡紊亂--ppt課件
- 建筑工程項(xiàng)目勞務(wù)實(shí)名制管理方案
- 頂管及盾構(gòu)施工技術(shù)及特點(diǎn)(62頁(yè))
- 幼兒園中班語(yǔ)言《啪啦啪啦-碰》微課件
評(píng)論
0/150
提交評(píng)論