简介
RT-Thread 软件定时器的简单使用
步骤
创建项目
参考 BearPi RT-Thread项目创建
定时器管理接口
-
定时器时钟节拍
-
定时器管理相关函数
-
定时器类型
#define RT_TIMER_FLAG_ONE_SHOT 0x0 //一次性计时器
#define RT_TIMER_FLAG_PERIODIC 0x2 // 周期性定时器
#define RT_TIMER_FLAG_HARD_TIMER 0x0 // 硬件定时器,定时器的回调函数将在系统时钟中断里调用。
#define RT_TIMER_FLAG_SOFT_TIMER 0x4 // 软件定时器,定时器的回调函数将在定时器线程中调用。
- 软件定时器
软件定时器的超时函数在timer线程的上下文环境中执行。
timer1 = rt_timer_create("timer1", timeout1, // timeout1 是 定时器回调函数
RT_NULL, 10, // 10ms
RT_TIMER_FLAG_PERIODIC); // 创建周期定时器
timer2 = rt_timer_create("timer2", timeout2, // timeout2 是 定时器回调函数
RT_NULL, 100, // 100ms
RT_TIMER_FLAG_ONE_SHOT); // 创建一次性周期定时器
if (timer1 != RT_NULL)
rt_timer_start(timer1); // 开启定时器1
if (timer2 != RT_NULL)
rt_timer_start(timer2); // 开启定时器2
参考
RT-Thread API参考手册 定时器管理
RT-Thread 时钟管理