×
单片机 > 单片机程序设计 > 详情

ARM7中断设置问题

发布时间:2020-09-01 发布时间:
|
在ARM教程中许多例子都有这样的话:VICVectCntl0=0X2E; 为什么就可以EINT0通道分配到IRQ Slot0。   VICVectCntl1=0X2F;又分配到slot几呢?还有许多教程中写的是 EXTMODE = 0X00;

 EXTPOLAR = 0X02;

VICIntSelect = 0X00000000;

VICVectCntl0 = 0X20|15;

VICVectAddr0 = (int)IRQ_Eint1;

EXTINT = 0X02;

VICIntEnable = 0X00008000;

VICVectCntl0 = 0X20|15;

又是什么意思,中间|是怎么回事。0X20或15是什么。 while(1); return 0; 其实这样的: VICVectCntl0 = 0X20|15; 表示将中断号为15的EINT1为最高优先级 VICVectCnt1 = 0X20|14; 表示将中断号为14的EINT0为次最高优先级 0X0E为EINT0的中断号; 0X20 为允许该中断; 0X0F为EINT1的中断号; 0X20 为允许该中断;其实也就是要看一下中断源的号是多少,后面的数字就应该是几了。 因为向量控制寄存器的bit5是控制中断使能的,二进制数10000刚好对应0×20,所以0×20就是允许中断请求。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
STM32中断向量表的位置.重定向