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