在ARM教程中許多例子都有這樣的話:VICVectCntl0=0X2E; 為什么就可以EINT0通道分配到IRQ Slot0。 VICVectCntl1=0X2F;又分配到slot幾呢?還有許多教程中寫的是 EXTMODE = 0X00;EXTPOLAR = 0X02;
本文引用地址:http://www.biyoush.com/article/201611/320144.htmVICIntSelect = 0X00000000;
VICVectCntl0 = 0X20|15;
VICVectAddr0 = (int)IRQ_Eint1;
EXTINT = 0X02;
VICIntEnable = 0X00008000;
VICVectCntl0 = 0X20|15;
又是什么意思,中間|是怎么回事。0X20或15是什么。 while(1); return 0; 其實(shí)這樣的:VICVectCntl0 = 0X20|15; 表示將中斷號(hào)為15的EINT1為最高優(yōu)先級(jí) VICVectCnt1 = 0X20|14; 表示將中斷號(hào)為14的EINT0為次最高優(yōu)先級(jí) 0X0E為EINT0的中斷號(hào); 0X20 為允許該中斷; 0X0F為EINT1的中斷號(hào); 0X20 為允許該中斷;其實(shí)也就是要看一下中斷源的號(hào)是多少,后面的數(shù)字就應(yīng)該是幾了。 因?yàn)橄蛄靠刂萍拇嫫鞯腷it5是控制中斷使能的,二進(jìn)制數(shù)10000剛好對(duì)應(yīng)0×20,所以0×20就是允許中斷請(qǐng)求。
評(píng)論