timer.c

来自「IEEE 1588-2002编程源码」· C语言 代码 · 共 52 行

C
52
字号
/* timer.c */#include "ptpd.h"void timerUpdate(Integer16 delta, IntervalTimer *itimer){  int i;    for(i = 0; i < TIMER_ARRAY_SIZE; ++i)  {    if(itimer[i].interval && (itimer[i].left -= delta) <= 0)    {      itimer[i].left = itimer[i].interval;      itimer[i].expire = TRUE;      DBGV("timerStart: timer %u expired\n", i);    }  }}void timerStop(UInteger16 index, IntervalTimer *itimer){  if(index >= TIMER_ARRAY_SIZE)    return;    itimer[index].interval = 0;}void timerStart(UInteger16 index, UInteger16 interval, IntervalTimer *itimer){  if(index >= TIMER_ARRAY_SIZE)    return;    itimer[index].expire = FALSE;  itimer[index].interval = itimer[index].left = interval;    DBGV("timerStart: set timer %d to %d\n", index, interval);}Boolean timerExpired(UInteger16 index, IntervalTimer *itimer){  if(index >= TIMER_ARRAY_SIZE)    return FALSE;    if(!itimer[index].expire)    return FALSE;    itimer[index].expire = FALSE;    return TRUE;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?