ESP32 多线程入门实验
一、线程创建函数
| 函数 | void xTaskCreate ( pdTASK_CODE pvTaskCode, const portCHAR * const pcNane, unsigned portSHORT usStackDepth, void *pvParameters, unsigned portBASE_TYPE uxPriority, xTaskHandle *pvCreatedTask); |
|---|---|
| 作用 | 创建线程 |
| pvTaskCode | 指向任务的实现函数的指针 |
| pcNane | 具有描述性的任务名。FreeRTOS 不会使用它。 |
| usStackDepth | 指定任务堆栈的大小 |
| pvParameters | 指针用于作为一个参数传向创建的任务 |
| uxPriority | 任务运行时的优先级 |
| pvCreatedTask | 用于传递任务的句柄,可以引用从而对任务进行其他操作 |
二、实验程序
#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_log.h"
#define TAG "main"
void task1(void *pvParameters)
{
while (1)
{
vTaskDelay(1000);
ESP_LOGI(TAG, "task1 running");
}
}
void task2(void *pvParameters)
{
while (1)
{
vTaskDelay(2000);
ESP_LOGI(TAG, "task2 running");
}
}
void app_main(void)
{
xTaskCreate(task1, "task1", 2048, NULL, 1, NULL);
xTaskCreate(task2, "task2", 2048, NULL, 1, NULL);
while (1)
{
vTaskDelay(1000 / portTICK_PERIOD_MS);
// ESP_LOGI(TAG, "task2 running");
}
}
本文来自博客园,作者:浇筑菜鸟,转载请注明原文链接:https://www.cnblogs.com/jzcn/p/16832739.html
如本博客的内容侵犯了你的权益,请与以下地址联系,本人获知后,马上删除。同时本人深表歉意,并致以崇高的谢意! cn_jiaozhu@qq.com
浙公网安备 33010602011771号