定时器管理控制块

  1. struct rt_timer
  2. {
  3. struct rt_object parent;
  4.  
  5. rt_list_t row[RT_TIMER_SKIP_LIST_LEVEL]; /* 定时器列表算法用到的队列 */
  6.  
  7. void (*timeout_func)(void *parameter); /* 定时器超时调用的函数 */
  8. void *parameter; /* 超时函数用到的入口参数 */
  9.  
  10. rt_tick_t init_tick; /* 定时器初始超时节拍数 */
  11. rt_tick_t timeout_tick; /* 定时器实际超时时的节拍数 */
  12. };
  13. typedef struct rt_timer *rt_timer_t;

定时器控制块由struct rt_timer结构体定义,并形成定时器内核对象再链接到内核对象容器中进行管理。list成员则用于把一个激活的(已经启动的)定时器链接到rt_timer_list链表中。