10msec를 만들어 놓고,
각 펑션에서 tick_add_task를 호출하여서 등록하면
OS는 스케쥴러는 없지만 키체크 서비스등과 같이 나름대로 여러 서비스를 할 수 있다.

tskit
=============================================================================================

static void (*tick_funcs[MAX_NUM_TICK_TASKS])(void);

U8 tick_add_task(void (*f)(void))
{
    int i;

    /* Add a task if there is room */
    for(i = 0;i < MAX_NUM_TICK_TASKS;i++)
    {
        if(tick_funcs[i] == NULL)
        {
            tick_funcs[i] = f;
            return COMMAND_SUCCESS;
        }
    }
    printf("Error! tick_add_task(): out of tasks");
    return COMMAND_FAIL;
}

SIGNAL(SIG_OVERFLOW0)
{
        U8 i;
//        cli();
          TCNT0 = TIMERINI;
    for(i = 0; i < MAX_NUM_TICK_TASKS; i++)
    {
        if(tick_funcs[i])
        {
            tick_funcs[i]();
        }
    }
        current_tick++;
        
//        sei();
}