xtaskcreat如何在FREERTOS中创建没有函数体的任务

xtaskcreat如何在FREERTOS中创建没有函数体的任务,c,rtos,freertos,C,Rtos,Freertos,我是RTOS新手,在freeRTOS中阅读一些演示代码时,我遇到了xtaskcreate函数。我知道当调用函数时,它应该在代码中的某个位置具有其函数体。当我引用task.c文件时,没有找到任何xtaskcreate函数体。那么,有人能解释一下xtaskcreat函数体在哪里吗?如果没有,那么它是如何执行的 它在文件Source/tasks.c第595行(freertosv9.0.0rc2)附近定义 但是,如果未定义支持\u DYNAMIC\u allocation,则也不会定义xTaskCrea

我是RTOS新手,在freeRTOS中阅读一些演示代码时,我遇到了xtaskcreate函数。我知道当调用函数时,它应该在代码中的某个位置具有其函数体。当我引用task.c文件时,没有找到任何xtaskcreate函数体。那么,有人能解释一下xtaskcreat函数体在哪里吗?如果没有,那么它是如何执行的

它在文件
Source/tasks.c
第595行(freertosv9.0.0rc2)附近定义


但是,如果未定义
支持\u DYNAMIC\u allocation
,则也不会定义
xTaskCreate

这取决于您使用的FreeRTOS版本

最新的V9.0.0rc2在tasks.c中将xTaskCreate()和xTaskCreateStatic()作为单独的函数。某些版本将两个调用都定义为宏,每个宏调用xTaskGenericCreate(),并为所需行为设置适当的参数(对最终用户隐藏复杂性)


在这两种情况下,很容易找到答案。“任务”-因此只需在该文件中搜索xTaskCreate(),看看它是直接函数调用还是调用另一个函数的宏,然后可以在tasks.c中找到它。

它可以是另一个函数的宏。