请教各位大师.<br />我用KEILARM的RV编译通过了,但是下载到板上以后怎么样都不会进入中断.<br />急,苦等!请各位大侠帮我分析可能是哪里出了问题.<br />相关程序如下:<br />__irq void Timer0_irq(void)<br />{<br /> <br /><br /><br /> Blink = ~Blink;<br /> SpeakerOn();<br /> T0IR = 0x01; /* 清除中断标志 */<br /> VICVectAddr = 0x00; // 通知VIC中断处理结束 <br />}<br /><br />void VicIntSetup(void)<br />{<br /> /* 设置定时器0中断IRQ */<br /> VICIntSelect = 0x00; /* 所有中断通道设置为IRQ中断 */<br /> VICVectCntl0 = 0x20 | 0x04; /* 设置定时器0中断通道分配最高优先级 */<br /> VICVectAddr0 = (unsigned long int)Timer0_irq; /* 设置中断服务程序地址 */<br /> VICIntEnable = 1 << 0x04; /* 使能定时器0中断 */<br />}<br /><br />__inline void enable_IRQ(void)<br />{<br />int tmp;<br />__asm<br />{<br />MRS tmp, CPSR<br />BIC tmp, tmp, #0x80<br />MSR CPSR_c, tmp<br />}<br />}<br /><br />void Timer0Init(void)<br />{<br /> /* 定时器0初始化 */<br /> T0TC = 0; /* 定时器设置为0 */<br /> T0PR = 0; /* 时钟不分频 */<br /> T0MCR = 0x03; /* 设置T0MR0匹配后复位T0TC,并产生中断标志 */<br /> T0MR0 = Fpclk / 2; /* 0.5秒钟定时 */<br /> T0TCR = 0x01; /* 启动定时器 */<br />}<br /><br /> |
|