esp32_use_dual_core | Last modified: 1744481085 | Edit | Home

[[https://randomnerdtutorials.com/esp32-dual-core-arduino-ide/]]

TaskHandle_t Task1;

// Variable partagée par les deux process

int i = 0;

void setup() {

  Serial.begin(115200); 

  // By default, Arduino sketches run on core 1

  // Create a task that will be executed in the Task1code() function
  // with priority 1 and executed on core 0
  xTaskCreatePinnedToCore(
    Task1code,   /* Task function. */
    "Task1",     /* name of task. */
    10000,       /* Stack size of task */
    NULL,        /* parameter of the task */
    1,           /* priority of the task */
    &Task1,      /* Task handle to keep track of created task */
    0);          /* pin task to core 0 */
}

void Task1code( void * pvParameters ){
  for(;;){
    Serial.print("Core ");
    Serial.print(xPortGetCoreID());
    Serial.print(":");
    Serial.println(i++);
    delay(1000);
  } 
}

void loop() {
  Serial.print("Core ");
  Serial.print(xPortGetCoreID());
  Serial.print(":");
  Serial.println(i++);
  delay(300);
  }