|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
請(qǐng)教LPC2200中斷問(wèn)題 |
| 作者:zhouarm 欄目:ARM技術(shù) |
小弟我初學(xué)ARM,現(xiàn)在碰到這么個(gè)問(wèn)題請(qǐng)各位大蝦多多指教 一:外部中斷用不來(lái)(EINTi),好象中斷請(qǐng)求信號(hào)不能被采樣到。 發(fā)現(xiàn)這樣一個(gè)現(xiàn)象,我把相關(guān)的引腳(如P0.20)設(shè)置為GPIO,則能正常的進(jìn)行IO操作。但是一旦設(shè)置為EXTINT方式(EINT3),則發(fā)現(xiàn)該引腳的狀態(tài)馬上變成了低電平(通過(guò)IO0PIN觀察到)。這樣的話(huà),中斷輸入引腳始終為低電平了,那怎么能輸入外部中斷請(qǐng)求信號(hào)呢。相關(guān)初始化程序見(jiàn)后 二:中斷該如何結(jié)束 當(dāng)我使用一個(gè)中斷時(shí)(比如iic中斷,timer中斷等),都能從中斷例程中通過(guò)(VICVectAddr = 0)正常返回。但是,一旦有多個(gè)中斷,發(fā)現(xiàn)不行了。當(dāng)一個(gè)中斷例程中返回后,回到了 IRQ中斷入口 ……18,那里有一條指令 LDR PC,……,執(zhí)行的后果是復(fù)位了。 我想請(qǐng)教的是 1)中斷請(qǐng)求如何撤消 2)FIQ中斷請(qǐng)求如何撤消 以下為中斷設(shè)置相關(guān)代碼 #define KEY_INTSEL (PINSEL1 | (0x3 << 8) ) //P0.20設(shè)置為 EINT3 #define BEEP_SEL (PINSEL0 & 0XFFFF3FFF ) //P0.7設(shè)置為輸出,控制BEEP #define BEEPDIR (IODIR | ( 0X1 << 7 ) & 0xffefffff) //P0.7輸出 #define BEEP ( 0X1 << 7 ) //中斷相關(guān)定義------------------------- #define cEXTMODE 0x1 //EINT3沿觸發(fā) #define cEXTPOLAR 0X0 //............... #define cVICIntSelect 0x0 //全部為IRQ #define cVICIntEnable (1 << 17) //允許EINT3中斷 #define cVICVectCntl0 (0x20 | 17)//EINT3使用SLOT0,最高優(yōu)先級(jí)別,為向量IRQ #define cVICVectAddr0 (int) IRQ_Eint3 //函數(shù)定義----------------------------- void SysInit(void); void __irq IRQ_Eint3(void); //程序代碼區(qū)***************************************************************************** int main (void) { SysInit(); IRQEnable(); while(1); return(0); } //系統(tǒng)初始化程序,初始化中斷控制器、外部中斷模式 void SysInit(void) { PINSEL0 = BEEP_SEL; PINSEL1 = KEY_INTSEL; IO0DIR = BEEPDIR; EXTINT = 0XF; EXTMODE = cEXTMODE; EXTPOLAR = cEXTPOLAR; VICIntSelect = cVICIntSelect; VICVectCntl0 = cVICVectCntl0; VICVectAddr0 = cVICVectAddr0; VICIntEnable = cVICIntEnable; } |
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |