如何每6小时打断一次

how to make interrupt every 6hrs

本文关键字:一次 何每 6小时      更新时间:2023-10-16

对于我的数据记录器项目,我必须每6小时存储一次温度值。我观察到,计时器的最长时间是30分钟。有什么方法可以让我们在长时间中断,如6小时或10小时?

谢谢。

所以你可以每30分钟打断一次。如果只有一种方法可以忽略一行中的每11个中断,只处理第12个中断…

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

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