|
我的UCOS中断无法进入,代码如下:
在IRQ.S的程序增加了:
Eint2_Handler HANDLER IRQ_Eint2
在target.c中增加了如下代码:
void VICInit(void)
{
extern void IRQ_Handler(void);
extern void Timer0_Handler(void);
//extern void IRQ_Handler0(void);
extern void Eint2_Handler(void);
VICIntEnClr = 0xffffffff;
VICDefVectAddr = (uint32)IRQ_Handler;
VICVectAddr0 = (uint32)Timer0_Handler;
VICVectCntl0 = (0x20 | 0x04);
VICIntEnable = 1 << 4;
VICVectAddr2 = (uint32)Eint2_Handler; //**添加用户代码**
VICVectCntl2 = (0x20 | 0x07); //**添加用户代码**
EXTMODE = 0x00; //设置EINT2为边沿触发
VICIntEnable = 1<<17;/**/
}
然后在MAIN.C里增加了一个IRQ_Eint2函数,可程序始终无法中断进入到IRQ_Eint2函数里。不知道为什么,
重点怀疑是:
VICVectAddr2 = (uint32)Eint2_Handler; //**添加用户代码**
VICVectCntl2 = (0x20 | 0x07); //**添加用户代码**
EXTMODE = 0x00; //设置EINT2为边沿触发
VICIntEnable = 1<<17;/**/
才学,不知什么原因望高手帮忙。
我个人觉得加的方式应该没有什么问题,希望有人给个办法。
|
|