LPC2103學習之外部中斷

來源:互聯網
上載者:User

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

 

LPC2103有三個外部中斷源。分別是外部中斷0(EINT0),外部中斷1(EINT1),外部中斷2(EINT2)。另外LPC2103的10個捕獲輸入也可以作為外部中斷輸入,跟外部中斷不同之處就是不能將掉電模式下的CPU喚醒。

下面的圖展示了LPC2103的外部中斷系統的結構,看到這個結構,對寄存器的操作一下也明白了不少。

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

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

其中需要我們注意的是相應中斷使標誌位置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教材》

每天進步一點。

 

 

 

 

 

 

 

 

 

 

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.