如何每6小时进行一次中断

时间:2016-09-13 08:55:23

标签: c++ c embedded mbed

对于我的数据记录器项目,我必须每隔6小时存储温度值。我发现自动收报机的最长时间是30分钟。有没有什么方法可以让我们在6小时或10小时的长时间间隔中断?

谢谢。

1 个答案:

答案 0 :(得分:2)

所以你可以每30分钟做一次中断。如果只有一种方法可以忽略连续的每11个中断并且只处理第12个中断..

volatile int interruptCounter = 0;
void interruptFunction (void)
{
    interruptCounter++;
    if(interruptCounter == 12)
    {
        interruptcounter = 0;
        /*
          Do your stuff here
        */
    }
}

为什么12?因为你可以处理每0.5h发生的中断。因此,为了处理它,每6h最大计数器值将是6 / 0.5 = 12,10小时它将是10 / 0.5 = 20,依此类推。