首页 > 其他分享 >ESP32 多线程入门实验

ESP32 多线程入门实验

时间:2022-10-27 16:45:26浏览次数:69  
标签:task1 task2 NULL 入门 ESP32 pvParameters TAG 多线程 void

一、线程创建函数

函数 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");
    }
    
}

标签:task1,task2,NULL,入门,ESP32,pvParameters,TAG,多线程,void
From: https://www.cnblogs.com/jzcn/p/16832739.html

相关文章

  • Halcon入门之必看例程
    学习halcon例程是入门halcon的一种很好的方法,初学者尤其应该关注例程中处理问题的思路。以下是作者认为初入门时必看的例程名称,大家根据名称自行查找。......
  • FreeRTOS 实时操作系统应用入门
    一、FreeRT基本知识1.FreeRT中的链表(1)链表节点数据结构structxLIST_ITEM{configLIST_VOLATILETickType_txItemValue;/*<Thevaluebeingl......
  • IDEA在多线程环境下断点调试-验证synchronized监视锁的运行状态
    场景Java中数据同步-synchronized关键字与Mointor的使用:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/126743812上面简单介绍synchronized的使用,如果在I......
  • Java多线程(4):ThreadLocal
    您好,我是湘王,这是我的51CTO博客,欢迎您来,欢迎您再来~​为了提高CPU的利用率,工程师们创造了多线程。但是线程们说:要有光!(为了减少线程创建(T1启动)和销毁(T3切换)的时间),于是工程师们......
  • vs code c++入门
    新建工程命令行创建vscode提供了命令行打开工作目录的功能mkdirplaygroundcdplaygroudcode.UI打开直接使用File->openFoldercommand模式使用F1快捷键可以打开......
  • hadoop入门-运行环境搭建
    Hadoop运行环境搭建(开发重点)2.1模板虚拟机环境准备0)安装模板虚拟机,IP地址192.168.10.100、主机名称hadoop100、内存4G、硬盘50G1)hadoop100虚拟机配置要求如下(本文Linux......
  • hadoop入门-概述
     第1章Hadoop概述1.1Hadoop是什么1.2Hadoop发展历史(了解) 1.3Hadoop三大发行版本(了解)Hadoop三大发行版本:Apache、Cloudera、Hortonworks。Apache版本最原始......
  • XAF新手入门 - 模块(Module)
    模块概述谈到模块大家应该都不会感到陌生,不管是前端还是后端都有模块的概念,XAF中的模块概念与大多数框架中的模块概念是相通的。XAF模块首先是一个.NET类库,同时它还包含一......
  • Java零基础入门---JDK的安装及环境变量配置教程
    ?在官方网站?(http://www.oracle.com)下载JDK安装包,针对不同的操作系统,下载不同的版本。?1、双击JDK安装包,进行安装?2、点击“下一步”?3、更改安......
  • JDBC概念和JDBC快速入门
     JDBC概念概念:javaDataBaseConnectivityjava数据连接java语法操作数据库 JDBC本质其实是官方(sun公司)定义的一套操作所有关系系数据库的规则即接口各个数据库......