智能车制作
标题:
定时器中断问题~~
[打印本页]
作者:
黎明sunshine
时间:
2012-9-6 21:31
标题:
定时器中断问题~~
void pit0_isr(void)
{
DisableInterrupts; //关总中断
if((PIT_TFLG(0)&PIT_TFLG_TIF_MASK)!=0) //PIT_TFLG 定时器中断标志
{
light_change(Light_Run_PORT, Light_Run1);//改变指示灯1状态
PIT_TFLG(0)|=PIT_TFLG_TIF_MASK; //清标志
}
enable_pit_interrupt(0);
EnableInterrupts; //开总中断
}
这是个中断定时器历程
为什么关闭了总中断又打开?
一直这样循环??
作者:
xc229876115
时间:
2012-9-6 22:57
进入定时器中断后,关闭总中断时为了防止新的中断,当定时器中断执行完毕后才允许新的中断
作者:
月光疾风
时间:
2012-9-7 00:37
为了执行定时中断服务程序时,不被别的中断打断,关闭全局中断,执行完了定时中断再恢复全局
作者:
Nelson90
时间:
2012-9-17 10:07
做个记号,下次好找!
作者:
夏唯夕
时间:
2012-12-31 20:14
额。。
作者:
zhangxxxww
时间:
2013-4-20 20:57
月光疾风 发表于 2012-9-7 00:37
为了执行定时中断服务程序时,不被别的中断打断,关闭全局中断,执行完了定时中断再恢复全局
这个我怎么感觉老有点问题,就是先关中断就不会进入中断,我做过实验,发光二极管不闪
作者:
zhangxxxww
时间:
2013-4-20 21:00
月光疾风 发表于 2012-9-7 00:37
为了执行定时中断服务程序时,不被别的中断打断,关闭全局中断,执行完了定时中断再恢复全局
我做过实验,先关中断后程序小灯就不亮了
欢迎光临 智能车制作 (http://dns.znczz.com/)
Powered by Discuz! X3.2