ESP32 多线程入门实验
2023-02-18 16:30:03 时间
一、线程创建函数
函数 | 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");
}
}
相关文章
- SQL Server 2005的DML触发器分After触发器的研究
- sql server 2005商业智能的初步了解(1)
- [日常]UserAgent中的AhrefsBot解释
- sql server 存储过程中使用变量表,临时表的分析(续)
- 物流信息系统开发与设计(四)
- [PHP] laravel 框架多项目公用redis会有默认前缀 项目名_database_key
- 物流信息系统开发与设计(三)
- 物流信息系统开发与设计(二)
- [laravel] 关闭laravel数据库model维护create_at update_at
- 物流信息系统开发与设计(一)
- 用C#调用C++DLL时的字符串指针参数传递问题
- 根据身份证号码取得此CID所在省份(转)
- [mysql] 解决SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column
- [PHP] windows环境下PHP增加rdkafka扩展 解决需要ext-rdkafka问题
- SQL SERVER 2005中对存储过程进行签名(转)
- [转]c#有关winform的两个代码片段(多线程操作窗体控件与窗体淡入淡出效果)
- SQLServer 2005 海量数据解决方案(分区表)与对已存在的表进行分区
- [mysql] 查看mysql的最大连接数解决too many connection
- [laravel] laravel验证请求参数
- [kafka] kafka简单概念理解