|
|||||||||||
| 技術交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng) 驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
在應用程序里添加按鍵功能2410 wince |
| 作者:wbread 欄目:嵌入式系統(tǒng) |
不是標準按鍵,就是那個2410開發(fā)板上的簡單的4個按鍵。 pb的代碼我基本上 按鍵這部分功能看懂了 但是問題是,我不想把這么一個簡單的功能實現(xiàn)在驅動層面 恩 你的這個工作模式還是中斷模式嗎? 如果是中斷怎么還需要定時器,掃描啊? 應該是中斷處理程序ISR不停的處理,IST處理中斷請求啊? 我的思路很簡單: 就是我的應用程序里,進行了一個KEYBOARD的初始化,然后完成對應中斷的初始化InterruptInitialize 然后開啟中斷處理線程,就這么簡單,和驅動里面采用的是同樣的模式 可是現(xiàn)在就是InterruptInitialize處理不了,異常退出,而SYSINTR_BUTTON 肯定是已經(jīng)在pb中定義號的中斷,所以我就不知道是哪里的問題,是不是不能寫在應用程序里? 今天看這個操作,看的我都暈了,InterruptInitialize函數(shù), 我現(xiàn)在有些不懂了,這個是驅動層面的東西,應該。 而本身windows對驅動層面,應用層面分得比較清楚, 我不知道是不是wince也是這樣, 我把這段代碼 HANDLE hEvent1; hGlobalWriteEvent = CreateEvent(NULL,FALSE,FALSE,NULL); if (hGlobalWriteEvent == NULL) { DEBUGMSG(1, (TEXT("DEMO: Event creation failed!!!/r/n"))); return; } // OEMInterruptEnable(SYSINTR_BUTTON,NULL,NULL); if (!InterruptInitialize(SYSINTR_BUTTON,hGlobalWriteEvent,NULL,0)) { DEBUGMSG (1, (TEXT("DEMO: InterruptInitialize failed!!!/r/n"))); return; } hEvent1 = CreateThread(NULL,0,IST,hGlobalWriteEvent,0,NULL);//開一個處理線程 if(hEvent1==NULL) { DEBUGMSG (1, (TEXT("DEMO: CreateThread failed!!!/r/n"))); return; } DEBUGMSG (1, (TEXT("DEMO: Finish the initialize/r/n"))); return; 放在應用程序里面可以嗎? 可是就是不行,不知道是什么原因?中斷id號肯定是存在的,應該沒有錯吧》? 是不是必須把代碼寫到驅動層面才可以呢? 另外,我這部分想實現(xiàn)的功能比較簡單 我使用的是2410的開發(fā)板,上面提供了4個功能按鍵,其中有幾個已經(jīng)被設置為重啟鍵,我想給其他的按鍵,響應我的功能,不知道該怎么做,就是一個簡單的自定義中斷的實驗而已,比如我的應用程序打開, 當按鍵發(fā)生后,我的應用程序給出響應,不必系統(tǒng)響應,該如何來做呢? 高手指教 |
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |