/*  the init funtion of timer 
the internal called function of rt_timer_init */
static void _rt_timer_init(rt_timer_t timer, void(*timeout)(void *parameter), void *parameter, rt_tick_t time, rt_uint8_t flag)
/*  the init funtion of timer 
the internal called function of rt_timer_init */
static void _rt_timer_init(rt_timer_t timer, void(*timeout)(void *parameter), void *parameter, rt_tick_t time, rt_uint8_t flag)
{
    int i;
    timer->parent.flag  = flag;
    timer->parent.flag &= ~RT_TIMER_FLAG_ACTIVATED;
    timer->timeout_func = timeout;
    timer->parameter    = parameter;
    timer->timeout_tick = 0;
    timer->init_tick    = time;
    for (i = 0; i < RT_TIMER_SKIP_LIST_LEVEL; i++)
    {
        rt_list_init(&(timer->row[i]));
    }
}