1.4 创建任务
xTaskCreate() API 函数
创建任务使用 FreeRTOS 的 API 函数 xTaskCreate()。这可能是所有 API 函数中
复杂的函数,但不幸的是这也是我们第一个遇到的 API 函数。但我们必须首先掌控任务,
因为它们是多任务系统中 基本的组件。本书中的所有示例程序都会用到
xTaskCreate(),所以会有大量的例子可以参考。
附录 5:描述用到的数据类型和命名约定。
portBASE_TYPE xTaskCreate( pdTASK_CODE pvTaskCode,
const signed portCHAR * const pcName,
unsigned portSHORT usStackDepth,
void *pvParameters,
unsigned portBASE_TYPE uxPriority,
xTaskHandle *pxCreatedTask );
程序清单 3 xTaskCreate() API 函数原型
表 1 xTaskCreate()参数与返回值
参数名 描述
pvTaskCode 任务只是永不退出的 C 函数,实现常通常是一个死循环。参数
pvTaskCode 只一个指向任务的实现函数的指针(效果上仅仅是函数
名)。
pcName 具有描述性的任务名。这个参数不会被 FreeRTOS 使用。其只是单
纯地用于辅助调试。识别一个具有可读性的名字总是比通过句柄来
识别容易得多。
应用程序可以通过定义常量 config_MAX_TASK_NAME_LEN 来定
义任务名的 大长度——包括’\0’结束符。如果传入的字符串长度超
过了这个 大值,字符串将会自动被截断。
1