LPC2103學習以外部中斷

今天下午學習了LPC2103的外部中斷,相對來講比較簡單。只是幾個寄存器的操做。學習

 

LPC2103有三個外部中斷源。分別是外部中斷0(EINT0),外部中斷1(EINT1),外部中斷2(EINT2)。另外LPC2103的10個捕獲輸入也能夠做爲外部中斷輸入,跟外部中斷不一樣之處就是不能將掉電模式下的CPU喚醒。軟件

下面的圖展現了LPC2103的外部中斷系統的結構,看到這個結構,對寄存器的操做一下也明白了很多。im

下面是4個跟外部中斷有關的寄存器img

下面是寄存器的具體介紹,首先是外部中斷標誌寄存器EXINT。ab

其中須要咱們注意的是相應中斷使標誌位置1時,咱們須要向相應寄存器位寫1以清除標誌位。並且在電平觸發方式下,只有引腳處於無效狀態時才又可能將標誌位清除。好比設置的爲高電平觸發,則直到相應引腳變爲低電平時咱們才能將標誌位清0.具體寄存器說明如圖:系統

外部中斷喚醒寄存器EXTWAKE.

EXTWAKE寄存器中的位容許相應的外部中斷將處理器從掉電模式下喚醒。且實現掉電喚醒不須要在向量中斷控制器中使能相應的中斷。這樣作的好處是容許外部中斷喚醒處理器,但不產生中斷。

具體寄存器說明如圖:

外部中斷模式寄存器EXTMODE。

此寄存器主要用來選擇中斷方式是電平觸發仍是邊沿觸發。注意的是隻有選擇用做EINT功能的引腳,並經過VICIntEnable使能相應中斷,才能產生外部中斷。

具體寄存器說明如圖:

外部中斷極性寄存器EXTPOLAR

此寄存器主要是與上面的模式寄存器相配合,準確描述出中斷信號波形。

具體寄存器說明如圖:

下面的圖展現的是外部中斷觸發設置

下面說下外部中斷引腳設置中需注意到的兩點:

1 若是要產生外部中斷,除了設置相應的引腳模塊外,還須要設置VIC模塊,不然外部中斷就只能反映在EXTINT寄存器中。

2 若使器件進入掉電模式並經過外部中斷喚醒,軟件應正確設置引腳外部中斷功能。

下面圖展現的就是外部中斷與向量中斷控制器(VIC)的關係

由圖可知,外部中斷0~2分別對應VIC通道的14~16。其中VICIntEnable控制通道的中斷使能,VICIntSelect用以分配通道中斷。當爲1時,對應中斷被分配爲FIQ,爲0時則爲IRQ。

另外分配爲IRQ時,還須要設置對應的通道控制寄存器VICVectorCntln和地址寄存器VICVectAddrn。

下面兩圖爲電平中斷與邊沿中斷的設置,之外部中斷EINT0舉例說明。

 

參考資料《EasyARM2103教材》

天天進步一點。大笑

相關文章
相關標籤/搜索