瑞芯微Rockchip开发者社区
直播中

china

16年用户 985经验值
擅长:14230
私信 关注
[问答]

ESP32--FreeRTOS任务的创建与删除过程是怎样的?

ESP32--FreeRTOS任务的创建与删除过程是怎样的?

回帖(1)

郭静

2022-1-14 09:58:58
首先我之前也很少在ESP32上使用FreeRTOS,一般都是在stm32上用,但是看过我之前STM32教程的兄弟们应该明白FreeRTOS之所以出现在这些物联网芯片上的原因,他完全免费并且经过时间的积累受用面以及用户与资料的积累都相当可观了,现在FreeRTOS也是使用最多的嵌入式系统没有之一,毕竟免费,白嫖谁还不愿意啊,但是其系统核心与STM32上 没有区别,都是管理者的身份,目的是为了帮我们更加科学得进行进程间转换
直接上代码:注释的比较清楚了
下面的代码启用了两个任务,并且在执行10次之后进行删除,如果不删除的话,你们直接使用while(1)在里面循环。
void task1( void * parameter )
{
    for( int i = 0;i<10;i++ ){
        Serial.println("Hello from task 1");
        delay(1000);
    }
    Serial.println("删除task1");
    vTaskDelete( NULL );  //任务的删除
}

  

void task2( void * parameter)
{
    for( int i = 0;i<10;i++ ){
        Serial.println("Hello from task 2");
        delay(1000);
    }
    Serial.println("删除task2");
    vTaskDelete( NULL );  //任务的删除
}


void setup() {
  Serial.begin(115200);
    xTaskCreate(
                    task1,          //指定任务函数,也就是上面那个task1函数
                    "TaskOne",        //任务名称
                    10000,            //任务堆栈大小
                    NULL,             //作为任务输入传递的参数
                    1,                //优先级
                    NULL);            //任务句柄

  xTaskCreate(
                    task2,         
                    "TaskTwo",        
                    10000,            
                    NULL,            
                    1,               
                    NULL);
}




void loop() {
  delay(1);
}
举报

更多回帖

发帖
×
20
完善资料,
赚取积分