FreeRTOS学习(八)ESP32 Arduino创建FreeRTOS Demo

1.ESP32 Arduino安装

文件->首选项 添加开发吧管理网址:
https://dl.espressif.com/dl/package_esp32_index.json
FreeRTOS学习(八)ESP32 Arduino创建FreeRTOS Demo_第1张图片
工具->开发板->开发板管理器,搜索ESP32,点安装(此过程可能需要科学上网)
选择开发板
FreeRTOS学习(八)ESP32 Arduino创建FreeRTOS Demo_第2张图片

2.编写 FreeRTOS的程序

ESP32是双核的,用一个loop简直太浪费了,xTaskCreate和CSDK是一样的

void setup() {
 
  Serial.begin(9600);
  delay(1000);
 
  xTaskCreate(
                    taskOne,          /* 任务函数 */
                    "TaskOne",        /* 任务名 */
                    10000,            /* 任务栈大小*/
                    NULL,             /* 参数 */
                    1,                /* 优先级 */
                    NULL);            /* 任务句柄 */
 
  xTaskCreate(
                    taskTwo,          /* Task function. */
                    "TaskTwo",        /* String with name of task. */
                    10000,            /* Stack size in bytes. */
                    NULL,             /* Parameter passed as input of the task */
                    1,                /* Priority of the task. */
                    NULL);            /* Task handle. */
 
}
 
void loop() {
  delay(1000);
}
 
void taskOne( void * parameter )
{
 
    for( int i = 0;i<10;i++ ){
 
        Serial.println("Hello from task 1");
        delay(1000);
    }
 
    Serial.println("Ending task 1");
    vTaskDelete( NULL );
 
}
 
void taskTwo( void * parameter)
{
 
    for( int i = 0;i<10;i++ ){
 
        Serial.println("Hello from task 2");
        delay(1000);
    }
    Serial.println("Ending task 2");
    vTaskDelete( NULL );
 
}

3. 串口打印结果

FreeRTOS学习(八)ESP32 Arduino创建FreeRTOS Demo_第3张图片

你可能感兴趣的:(ESP,RTOS,C语言,arduino,c语言,freertos,wifi,rtos)