tick.c

来自「ARP协议,含ARP」· C语言 代码 · 共 54 行

C
54
字号

#include "tick.h"
#include "string.h"
#include "typedef.h"

#define TICK_TASK_CNT       10
tick_task_t tick_tasks[TICK_TASK_CNT];

void init_tick (void) {
    memset (tick_tasks, 0, sizeof(tick_tasks));
}

void enroll_tick (tick_task_t f) {
    uc i, j;

    j = 0xFF;

    for (i=0; i<TICK_TASK_CNT; i++) {
        if (NULL == tick_tasks[i]) {
            j = i;
        }
        if (f == tick_tasks[i]) {
            return;
        }
    }

    if (0xFF == j) {
        return;
    }

    tick_tasks[j] = f;
}

void deroll_tick (tick_task_t f) {
    uc i;

    for (i=0; i<TICK_TASK_CNT; i++) {
        if (f == tick_tasks[i]) {
            tick_tasks[i] = NULL;
        }
    }
}

void exec_tick (void) {
    uc i;

    for (i=0; i<TICK_TASK_CNT; i++) {
        if (tick_tasks[i]) {
            tick_tasks[i] ();
        }
    }
}

⌨️ 快捷键说明

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