程序: void Time1_Init(void) { PINSEL3 = (PINSEL3 & 0xffffff3f)|(0x3 << 6); //PIN19 做 CAP1.1 T1CTCR = (0x01 << 0) | (0x01 << 2); // 外部上升沿计数模式,选脉冲输入口CAP1.1 T1MR1 = 11; // 系统要求的计数个数,如果TC = MR1,产生一个中断,并且清零TC或停止计数 T1MCR = (1 << 3) | (1 << 4); // 计数到产生中断,并复位TC。 // T1CCR = (1 << 3); VICVectAddr5 = (uint32)Tine1_IRQ; // 设置中断服务程序地址 VICIntEnable = (1 << 5); // 注意,这里可先设置,因为计数没有启动 T1TC = 0; // 计数器设置为0 T1IR = 0x01; // 清除中断位 } void __irq Time1_IRQ(void) { T1IR = 0x01; // 清除中断标志 T1TCR = 0x00; // 关闭计数器 VICVectAddr = 0x00; // 中断处理结束 } 怎么一运行就不停的中断中断??我的外部脉冲是每隔1s产生11个中断,问题是我还没有给脉冲,就中断个不歇气,好烦躁啊!! |