定时器中断函数内调用其他函数的时间问题

2019-07-15 10:13发布

最近看到中断这块,有一处不太理解,希望大家能指点一下。
比如我现在有一个外部中断0的中断函数
这个函数每次延迟50ms
我想实现就是每过10s中让蜂鸣器响一下
我想知道我在调用beep()这个蜂鸣器的函数中不影响此中断么
就比如我这个beep里面有delay(100)这样的 那岂不是我每调用
一次就会有这么多的误差吗
void t0() interrupt 1
{
        if(++count==200)
       {
               beep();
               count=0;
       }
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
9条回答
HARRY007
2019-07-16 10:37
moon548834 发表于 2017-7-17 20:17
但我认为
假设中断函数你的溢出是500ms 只要你的延时函数小于500ms就对这个中断应该没有任何影响
只是会增加cpu的负担。

还有啊,中断里加延时也会导致你的超级大循环的效率降低,比方说你在主函数里用延时做个闪灯,由于中断延时的问题,主函数的闪灯时间也将变得不可确定。  当然如果你觉得这些都是假设,那就按照自己的理解来。

一周热门 更多>