freeRTOS(void)pvParameters的sourecode中函数portTASK_FUNCTION的上下文

时间:2017-01-08 06:55:51

标签: task freertos

在跟踪free.cTOS的task.c源代码时,我看到一个名为 portTASK_FUNCTION 的函数。其代码如下

static portTASK_FUNCTION( prvIdleTask, pvParameters )
{
    /* Stop warnings. */
    ( void ) pvParameters;  //<--what for??

    for( ;; )
    {
        do something
    }
}

我不明白 (void)pvParameters 的含义,希望有人可以帮助我,thx

顺便说一句,这个函数的args类型没有声明,为什么它可以工作?

2 个答案:

答案 0 :(得分:2)

此代码由评论组成:

/* Stop warnings. */

优化器将删除您提到的代码。但是函数中有未使用的参数 - pvParameters。并编写此代码以关闭编译器。它什么都不做。

答案 1 :(得分:1)

portTASK_FUNCTION是 NOT 一个函数,它是一个宏。如果我谷歌它我得到的第一个链接在这里:http://www.freertos.org/implementing-a-FreeRTOS-task.html - 在这种情况下prvIdleTask是函数。除了链接上提到的一个模糊的情况之外,portTASK_FUNCTION宏已经过时(不是必需的),但在主内核代码中用于可移植性。