提供定时器接口,实现延迟执行与周期性任务调度
更多...
|
void | rt_timer_init (rt_timer_t timer, const char *name, void(*timeout)(void *parameter), void *parameter, rt_tick_t time, rt_uint8_t flag) |
| 初始化静态定时器对象 更多...
|
|
rt_err_t | rt_timer_detach (rt_timer_t timer) |
| 将静态定时器对象从内核管理中分离 更多...
|
|
rt_timer_t | rt_timer_create (const char *name, void(*timeout)(void *parameter), void *parameter, rt_tick_t time, rt_uint8_t flag) |
| 动态创建定时器对象 更多...
|
|
rt_err_t | rt_timer_delete (rt_timer_t timer) |
| 删除动态定时器 更多...
|
|
rt_err_t | rt_timer_start (rt_timer_t timer) |
| 启动定时器 更多...
|
|
rt_err_t | rt_timer_stop (rt_timer_t timer) |
| 停止定时器 更多...
|
|
rt_err_t | rt_timer_control (rt_timer_t timer, int cmd, void *arg) |
| 控制定时器参数。 更多...
|
|
提供定时器接口,实现延迟执行与周期性任务调度
◆ rt_timer_init()
void rt_timer_init |
( |
rt_timer_t |
timer, |
|
|
const char * |
name, |
|
|
void(*)(void *parameter) |
timeout, |
|
|
void * |
parameter, |
|
|
rt_tick_t |
time, |
|
|
rt_uint8_t |
flag |
|
) |
| |
初始化静态定时器对象
初始化用户全局或静态存储的定时器对象,初始化后需调用 rt_timer_start() 启动定时器
- 参数
-
[in] | timer | 定时器对象指针 |
[in] | name | 定时器名称 |
[in] | timeout | 定时器超时回调函数 |
[in] | parameter | 回调函数的参数 |
[in] | time | 超时时间,单位 tick,最大值 RT_TICK_MAX / 2 - 1 |
[in] | flag | 定时器标志位,可使用 | 组合
|
◆ rt_timer_detach()
将静态定时器对象从内核管理中分离
该函数用于解除静态定时器(用户自定义的 rt_timer_t 对象)与内核的关联, 执行以下操作:
- 参数
-
- 返回值
-
RT_EOK | 分离成功 |
-RT_ERROR | 参数无效或定时器未初始化 |
- 警告
-
- 注解
-
◆ rt_timer_create()
rt_timer_t rt_timer_create |
( |
const char * |
name, |
|
|
void(*)(void *parameter) |
timeout, |
|
|
void * |
parameter, |
|
|
rt_tick_t |
time, |
|
|
rt_uint8_t |
flag |
|
) |
| |
动态创建定时器对象
该函数通过动态内存分配创建定时器对象,并初始化相关参数。 创建的定时器需要通过 rt_timer_delete() 手动释放内存。相比静态定时器 rt_timer_init(),动态定时器更适合临时使用的场景
- 参数
-
[in] | name | 定时器名称指针 |
[in] | timeout | 定时器超时回调函数 |
[in] | parameter | 回调函数的参数 |
[in] | time | 超时时间,单位 tick,最大值 RT_TICK_MAX / 2 - 1 |
[in] | flag | 定时器标志位,可使用 | 组合
|
- 返回值
-
!RT_NULL | 创建成功,返回定时器对象指针 |
RT_NULL | 创建失败 |
◆ rt_timer_delete()
删除动态定时器
该函数用于销毁通过 rt_timer_create() 创建的动态定时器,执行以下操作:
- 从定时器链表中移除
- 清除激活状态标志
- 释放定时器对象内存
- 参数
-
- 返回值
-
- 注解
-
◆ rt_timer_start()
启动定时器
当定时器被创建或者初始化以后,并不会立即启动,必须在调用该函数接口 后,才开始工作
- 参数
-
- 返回值
-
◆ rt_timer_stop()
停止定时器
该函数用于停止指定的定时器对象,执行以下操作:
- 从定时器链表中移除(若处于激活状态)
- 清除激活状态标志
- 参数
-
- 返回值
-
RT_EOK | 停止成功 |
-RT_ERROR | 停止失败,定时器未激活 |
◆ rt_timer_control()
rt_err_t rt_timer_control |
( |
rt_timer_t |
timer, |
|
|
int |
cmd, |
|
|
void * |
arg |
|
) |
| |
控制定时器参数。
该函数用于获取或设置定时器的各种参数,支持以下操作:
- 获取/设置超时时间
- 修改定时器模式(单次/周期)
- 获取/设置回调函数及参数
- 查询定时器状态和剩余时间
- 参数
-
[in] | timer | 定时器对象指针 |
[in] | cmd | 控制命令
|
[in,out] | arg | 控制命令参数 |
- 返回值
-