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