新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 關(guān)于LPC2103外部中斷

關(guān)于LPC2103外部中斷

作者: 時(shí)間:2016-11-11 來源:網(wǎng)絡(luò) 收藏
開發(fā)環(huán)境:ADS1.2

在利用LPC2103的三個(gè)外部中斷作為按鍵輸入時(shí),slot0存放EINT0,slot1存放EINT1,slot2存放EINT2。

本文引用地址:http://m.butianyuan.cn/article/201611/316788.htm

下面分三種情況說明

(1)如果首先是EINT2進(jìn)入中斷,那么EINT1和EINT0還是可以進(jìn)入中斷的;

(2)如果首先是EINT1進(jìn)入中斷,那么EINT2就進(jìn)不去中斷處理程序了,但是EINT0還是可以進(jìn)入中斷的;

(3)如果首先是EINT0進(jìn)入中斷,那么EINT1和EINT0就都無法進(jìn)入中斷的

而且不管是EINT0,EINT1還是EINT2,都只能進(jìn)入一次中斷,第二次就無法進(jìn)入了。

針對(duì)以上外部中斷中的bug,本人進(jìn)行了多次反復(fù)的實(shí)驗(yàn),發(fā)現(xiàn)在中斷處理程序里面把VICVectAddr 的值重新修改為0以后,可以解決上述問題。

在中斷處理程序的最后寫VICVectAddr =0是為了更新硬件優(yōu)先級(jí)。

以上解決方法是建立在程序正確,唯獨(dú)在中斷處理程序中沒有修改VICVectAddr 的情況



關(guān)鍵詞: LPC2103外部中

評(píng)論


技術(shù)專區(qū)

關(guān)閉