#pragma interrupt_handler timer1_capt_isr:12
void timer1_capt_isr(void)
{
服务程序;
ETIMSK=0B00000100;
TCNT3=10000;
}
#pragma interrupt_handler timer3_ovf_isr:30
void timer3_ovf_isr(void)
{
服务程序;
ETIMSK=0B00000000;
}
即在定时器1里,启动定时器3中断;等定时器3中断执行完后,把本身的中断禁止。然后定时器1中断时再启动定时器3的中断,接着定时器3执行完程序再把本身的中断禁止,如此循环。但并没有实现预定的功能,如在定时器3里把 ETIMSK=0B00000000这句去掉就可以实现,请问这是怎么回事呢?能在在断程序里禁止该中断吗?
此帖出自
小平头技术问答
一周热门 更多>