金牌会员
- 积分
- 2842
- 威望
- 1087
- 贡献
- 599
- 兑换币
- 264
- 注册时间
- 2012-3-31
- 在线时间
- 578 小时
|
各位大侠们
看看这样配置中断哪出问题了吧
附代码:
/*******************函数说明*******************
* 函数:char init_IRQ(char irq_num)
* 参数说明:无
* 返回值:无
* 所用全局变量:无
* 说明:
*********************************************/
/*char init_IRQ(int16 irq_num)
{
int16 TEMP;
int16 DIV;
TEMP=irq_num/32;
DIV =irq_num%32;
if(irq_num>91||irq_num<0)
{
return 1;
}
else
{
switch(TEMP)
{
case 0:
NVICICPR0|=1<<DIV;
//清除中断挂起寄存器;
NVICISER0|=1<<DIV;
//NVICISERx;中断使能寄存器使能相应中断;
break;
case 1:
NVICICPR1|=1<<DIV;
//清除中断挂起寄存器;
NVICISER1|=1<<DIV;
//NVICISERx;中断使能寄存器使能相应中断;
break;
case 2:
NVICICPR2|=1<<DIV;
//清除中断挂起寄存器;
NVICISER2|=1<<DIV;
//NVICISERx;中断使能寄存器使能相应中断;
break;
}
}
}
///////////////////////////////////////////////
void ADC_isr(void){ uint8 adnum; //write_string(0,2,"ad:"); adnum=ADC0_RA; GPIOD_PTOR|=BIT(1); ADC0_SC1A&=~ADC_SC1_COCO_MASK;}//////////////////////////////////// (tIsrFunc)UNASSIGNED_ISR, /* 71 (0x0000011C) (prior: -) */ (tIsrFunc)UNASSIGNED_ISR, /* 72 (0x00000120) (prior: -) */ (tIsrFunc)ADC_isr, /* 73 (0x00000124) (prior: -) */ (tIsrFunc)UNASSIGNED_ISR, /* 74 (0x00000128) (prior: -) */ (tIsrFunc)UNASSIGNED_ISR, /* 75 (0x0000012C) (prior: -) */
|
|