定时器源码
定时器主要是 rt_system_timer_init();
和rt_system_timer_thread_init();
这两个定时器函数,一个用来初始化定时器,一个用来是初始化线程。
首先介绍定时器初始化函数,该函数初始化了一个列表头
可以看出这个函数初始了一个循环列表
这个函数初始化了一个软件定时器列表rt_soft_timer_list,该列表也是一个循环列表。
定时器工作机制
在定时器模块中维护着两个重要的全局变量:
当前系统经过tick时间rt_tick;
系统新创建的定时器都会按照超时时间排序过程,插入到定时器链表rt_timer_list链表中
在当前系统中已经创建并且启动了三个定时器,分别是定时时间为50个tick的timer1、100个tick的timer2、500个tick的timer3,