Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
2301_76519099
rt-thread
提交
30fd28a8
R
rt-thread
项目概览
2301_76519099
/
rt-thread
与 Fork 源项目一致
Fork自
RT-Thread / rt-thread
通知
3
Star
1
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rt-thread
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
30fd28a8
编写于
8月 15, 2021
作者:
Thomas_Fly
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add the comment of timer.c
上级
33a6700f
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
68 addition
and
30 deletion
+68
-30
src/timer.c
src/timer.c
+68
-30
未找到文件。
src/timer.c
浏览文件 @
30fd28a8
...
...
@@ -16,6 +16,7 @@
* 2012-12-15 Bernard fix the next timeout issue in soft timer
* 2014-07-12 Bernard does not lock scheduler when invoking soft-timer
* timeout function.
* 2021-08-15 supperthomas add the comment
*/
#include <rtthread.h>
...
...
@@ -59,10 +60,10 @@ static void (*rt_timer_exit_hook)(struct rt_timer *timer);
/**@{*/
/**
*
This function will set a hook function, which will be invoked when enter
* timer timeout callback function.
*
* @param hook the
hook function
*
@brief This function will set a hook function on timer,
*
which will be invoked when enter
timer timeout callback function.
*
* @param hook the
function point of timer
*/
void
rt_timer_enter_sethook
(
void
(
*
hook
)(
struct
rt_timer
*
timer
))
{
...
...
@@ -70,10 +71,10 @@ void rt_timer_enter_sethook(void (*hook)(struct rt_timer *timer))
}
/**
*
This function will set a hook function, which will be invoked when exit
* timer timeout callback function.
*
* @param hook the
hook function
*
@brief This function will set a hook function, which will be
*
invoked when exit *
timer timeout callback function.
*
* @param hook the
function point of timer
*/
void
rt_timer_exit_sethook
(
void
(
*
hook
)(
struct
rt_timer
*
timer
))
{
...
...
@@ -83,6 +84,20 @@ void rt_timer_exit_sethook(void (*hook)(struct rt_timer *timer))
/**@}*/
#endif
/* RT_USING_HOOK */
/**
* @brief [internal] the init funtion of timer
*
* the internal called function of rt_timer_init
*
* @see rt_timer_init
*
* @param timer the static timer object
* @param timeout the timeout function
* @param parameter the parameter of timeout function
* @param time the tick of timer
* @param flag the flag of timer
*/
static
void
_rt_timer_init
(
rt_timer_t
timer
,
void
(
*
timeout
)(
void
*
parameter
),
void
*
parameter
,
...
...
@@ -110,7 +125,13 @@ static void _rt_timer_init(rt_timer_t timer,
}
}
/* the fist timer always in the last row */
/**
* @brief find the next emtpy timer
*
* @param timer_list the timer of the next timeout
*
* @return rt_tick_t the point of timer
*/
static
rt_tick_t
rt_timer_list_next_timeout
(
rt_list_t
timer_list
[])
{
struct
rt_timer
*
timer
;
...
...
@@ -133,6 +154,11 @@ static rt_tick_t rt_timer_list_next_timeout(rt_list_t timer_list[])
return
timeout_tick
;
}
/**
* @brief remove the timer
*
* @param timer the point of timer
*/
rt_inline
void
_rt_timer_remove
(
rt_timer_t
timer
)
{
int
i
;
...
...
@@ -144,6 +170,12 @@ rt_inline void _rt_timer_remove(rt_timer_t timer)
}
#if RT_DEBUG_TIMER
/**
* @brief the number of timer
*
* @param timer
* @return int the count
*/
static
int
rt_timer_count_height
(
struct
rt_timer
*
timer
)
{
int
i
,
cnt
=
0
;
...
...
@@ -155,7 +187,11 @@ static int rt_timer_count_height(struct rt_timer *timer)
}
return
cnt
;
}
/**
* @brief dump the all timer information
*
* @param timer_heads the head of timer
*/
void
rt_timer_dump
(
rt_list_t
timer_heads
[])
{
rt_list_t
*
list
;
...
...
@@ -180,9 +216,8 @@ void rt_timer_dump(rt_list_t timer_heads[])
/**@{*/
/**
* This function will initialize a timer, normally this function is used to
* initialize a static timer object.
*
* @brief This function will initialize a timer
* normally this function is used to initialize a static timer object.
* @param timer the static timer object
* @param name the name of timer
* @param timeout the timeout function
...
...
@@ -208,11 +243,10 @@ void rt_timer_init(rt_timer_t timer,
RTM_EXPORT
(
rt_timer_init
);
/**
* This function will detach a timer from timer management.
*
* @param timer the static timer object
*
* @return the operation status, RT_EOK on OK; RT_ERROR on error
* @brief This function will detach a timer from timer management.
*
* @param timer the timer to be detached
* @return rt_err_t RT_EOK
*/
rt_err_t
rt_timer_detach
(
rt_timer_t
timer
)
{
...
...
@@ -241,7 +275,7 @@ RTM_EXPORT(rt_timer_detach);
#ifdef RT_USING_HEAP
/**
* This function will create a timer
*
@brief
This function will create a timer
*
* @param name the name of timer
* @param timeout the timeout function
...
...
@@ -273,7 +307,7 @@ rt_timer_t rt_timer_create(const char *name,
RTM_EXPORT
(
rt_timer_create
);
/**
* This function will delete a timer and release timer memory
*
@brief
This function will delete a timer and release timer memory
*
* @param timer the timer to be deleted
*
...
...
@@ -306,7 +340,7 @@ RTM_EXPORT(rt_timer_delete);
#endif
/* RT_USING_HEAP */
/**
* This function will start the timer
*
@brief
This function will start the timer
*
* @param timer the timer to be started
*
...
...
@@ -429,7 +463,7 @@ rt_err_t rt_timer_start(rt_timer_t timer)
RTM_EXPORT
(
rt_timer_start
);
/**
* This function will stop the timer
*
@brief
This function will stop the timer
*
* @param timer the timer to be stopped
*
...
...
@@ -463,7 +497,7 @@ rt_err_t rt_timer_stop(rt_timer_t timer)
RTM_EXPORT
(
rt_timer_stop
);
/**
* This function will get or set some options of the timer
*
@brief
This function will get or set some options of the timer
*
* @param timer the timer to be get or set
* @param cmd the control command
...
...
@@ -521,8 +555,8 @@ rt_err_t rt_timer_control(rt_timer_t timer, int cmd, void *arg)
RTM_EXPORT
(
rt_timer_control
);
/**
*
This function will check timer list, if a timeout event happens, the
* corresponding timeout function will be invoked.
*
@brief This function will check timer list, if a timeout event happens,
*
the
corresponding timeout function will be invoked.
*
* @note this function shall be invoked in operating system timer interrupt.
*/
...
...
@@ -596,7 +630,7 @@ void rt_timer_check(void)
}
/**
* This function will return the next timeout tick in the system.
*
@brief
This function will return the next timeout tick in the system.
*
* @return the next timeout tick in the system
*/
...
...
@@ -607,7 +641,7 @@ rt_tick_t rt_timer_next_timeout_tick(void)
#ifdef RT_USING_TIMER_SOFT
/**
* This function will check software-timer list, if a timeout event happens, the
*
@brief
This function will check software-timer list, if a timeout event happens, the
* corresponding timeout function will be invoked.
*/
void
rt_soft_timer_check
(
void
)
...
...
@@ -684,7 +718,11 @@ void rt_soft_timer_check(void)
RT_DEBUG_LOG
(
RT_DEBUG_TIMER
,
(
"software timer check leave
\n
"
));
}
/* system timer thread entry */
/**
* @brief system timer thread entry
*
* @param parameter
*/
static
void
rt_thread_timer_entry
(
void
*
parameter
)
{
rt_tick_t
next_timeout
;
...
...
@@ -723,7 +761,7 @@ static void rt_thread_timer_entry(void *parameter)
/**
* @ingroup SystemInit
*
* This function will initialize system timer
*
@brief
This function will initialize system timer
*/
void
rt_system_timer_init
(
void
)
{
...
...
@@ -738,7 +776,7 @@ void rt_system_timer_init(void)
/**
* @ingroup SystemInit
*
* This function will initialize system timer thread
*
@brief
This function will initialize system timer thread
*/
void
rt_system_timer_thread_init
(
void
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录