1、任务函数
xTaskHandle xTask_One_Handle;
xTaskHandle xTask_Two_Handle;
void vTask_One( void *pvParameters )
{
uint8_t *rec;
rec = (uint8_t *)pvParameters;
ESP_LOGI(TAG, "%s", "任务一运行中...");
ESP_LOGI(TAG, "传递参数:%d", *rec);
vTaskDelete(xTask_One_Handle);
}
void vTask_Two( void *pvParameters )
{
char *pcTaskName;
pcTaskName = (char *) pvParameters;
ESP_LOGI(TAG, "%s", "任务二运行中...");
ESP_LOGI(TAG, "传递参数:%s", pcTaskName);
vTaskDelete(xTask_Two_Handle);
}
2、创建任务
//传递参数
uint8_t pass = 128;
static const char *pcTextForTask2 = "Task 2 is running\t\n";
//创建任务一
xTaskCreate(
vTask_One,/*指向任务函数的指针*/
"Task_1",/* 任务的文本名字,只会在调试中用到 */
2048,/* 栈深度 */
(void*)&pass,/* 没有任务参数写NULL */
5,/* 任务优先级. */
&xTask_One_Handle/*任务句柄,没有任务句柄时写NULL*/
);
//创建任务二
xTaskCreate(
vTask_Two,/*指向任务函数的指针*/
"Task_2",/* 任务的文本名字,只会在调试中用到 */
2048,/* 栈深度 */
(void*)pcTextForTask2,/* 没有任务参数写NULL */
5,/* 任务优先级. */
&xTask_Two_Handle/*任务句柄,没有任务句柄时写NULL*/
);