主題:外部IRQ打開失敗 共有41088人關(guān)注過本帖 |
---|
123 |
1樓 |
外部IRQ打開失敗 Post By:2009-6-9 8:49:00 [只看該作者]
你好,請問一個問題。
在使用光盤提供的例程函數(shù),InstallexternIRQ()進行外部中斷的啟動時,為何會提示打開失敗,跳出程序? |
|
單帖管理 | 引用 | 回復(fù) |
zhl |
2樓 |
Post By:2009-6-9 9:14:00 [只看該作者]
請問購買的是什么型號的板卡。
提示打開失敗,一般是由于內(nèi)核中沒有安裝IRQ的驅(qū)動,需寄回給我們更新WinCE的內(nèi)核。 |
|
單帖管理 | 引用 | 回復(fù) |
123 |
3樓 |
Post By:2009-6-9 9:23:00 [只看該作者]
2個星期前從貴公司購買的6塊EM9260開發(fā)板。
使用提供的IRQ例程: BOOL CEM9260_IRQ::OpenIRQ() {    if (hIRQ!=INVALID_HANDLE_VALUE)         return true; } hIRQ=InstallExternIRQ(); if (hIRQ==NVALID_HANDLE_VALUE) {         return false; } 執(zhí)行到此時,程序就跳出了。 |
|
單帖管理 | 引用 | 回復(fù) |
123 |
4樓 |
Post By:2009-6-9 9:50:00 [只看該作者]
不好意思,敘述的錯了。
程序運行到GetExternIRQEvent()時,無法向下再執(zhí)行。 請問是何原因?謝謝! |
|
單帖管理 | 引用 | 回復(fù) |
zhl |
5樓 |
Post By:2009-6-9 18:12:00 [只看該作者]
請檢查IRQ1所接的外部中斷信號,估計是中斷的頻率太高造成了任務(wù)死鎖。
|
|
單帖管理 | 引用 | 回復(fù) |
123 |
6樓 |
Post By:2009-6-11 9:13:00 [只看該作者]
IRQ外接的為AD轉(zhuǎn)換結(jié)束的EOC信號,采樣頻率大約為150K,大約7us.
請問,IRQ的中斷響應(yīng)時間及API_FullDuplex這條指令分別為多少執(zhí)行時間? 謝謝 |
|
單帖管理 | 引用 | 回復(fù) |
x10 |
7樓 |
Post By:2009-6-11 10:22:00 [只看該作者]
WinCE作為一個多任務(wù)的操作系統(tǒng),對硬件中斷的響應(yīng)具有一定的不確定性,從軟件層次上看,對外部事件又分為驅(qū)動程序響應(yīng)和應(yīng)用程序響應(yīng),驅(qū)動程序的響應(yīng)不確定性最大有50us,而應(yīng)用程序則可能長達(dá)300us。解決不確定性的方法是設(shè)置多級緩沖,比方若外部數(shù)據(jù)間隔小于或與50us相當(dāng),則需要設(shè)置硬件buffer,一般是FIFO,當(dāng)FIFO存儲一定數(shù)據(jù)再產(chǎn)生中斷,由驅(qū)動程序一次性讀入;而應(yīng)用程序則處理批量數(shù)據(jù)。
從所描述的應(yīng)用看,硬件上需要加FIFO,并完成AD采集(一般由CPLD或其他硬件邏輯電路完成),以獲得嚴(yán)格時間間隔的波形數(shù)據(jù),以進行后續(xù)的時間分析,如脈沖分析、FFT等。 如果AD數(shù)據(jù)并不需要嚴(yán)格的時間間隔,則可以不用外部中斷,直接采用系統(tǒng)定時來啟動AD數(shù)據(jù)的采集。 |
|
單帖管理 | 引用 | 回復(fù) |