rt-thread源码分析篇十二:rt_system_timer_init函数分析

一、源码

#define RT_TIMER_SKIP_LIST_LEVEL          1

struct rt_list_node
{
    struct rt_list_node *next;                          /**< point to next node. */
    struct rt_list_node *prev;                          /**< point to prev node. */
};
typedef struct rt_list_node rt_list_t;                  /**< Type for lists. */

/* hard timer list */
static rt_list_t rt_timer_list[RT_TIMER_SKIP_LIST_LEVEL];
/**
 * @ingroup SystemInit
 *
 * This function will initialize system timer
 */
void rt_system_timer_init(void)
{
    int i;

    for (i = 0; i < sizeof(rt_timer_list) / sizeof(rt_timer_list[0]); i++)
    {
        rt_list_init(rt_timer_list + i);
    }
}

因为RT_TIMER_SKIP_LIST_LEVEL为1,所以rt_timer_list只有一个元素。因此sizeof(rt_timer_list) / sizeof(rt_timer_list[0])等于1。

1、rt_list_init

rt_inline void rt_list_init(rt_list_t *l)
{
    l->next = l->prev = l;
}

2、总结

rt_system_timer_init函数作用为初始化rt_timer_list数组。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值