/*
1.1
Exemplo prático de uma tarefa em um núcleo
aula01_4_2024.pdf
*/
#include <Arduino.h>
#include <freertos/FreeRTOS.h>
#include <freertos/task.h>
//Definição da função da tarefa
void minhaTarefa(void *pvParameters){
//Loop infinito da tarefa
while(true){
Serial.println("Executando minha tarefa!");
delay(100);//Delay de 100ms
vTaskDelay(pdMS_TO_TICKS(1000)); //Aguarda 100ms
}
}
void setup() {
// Inicialização da porta serial para comunicação
Serial.begin(115200);
Serial.println("Hello, ESP32!");
//Criação da tarefa
xTaskCreate(
minhaTarefa, //Função da tarefa
"MinhaTarefa", //Nomde da tarefa(para fins de depuração)
10000, //Tamanho da pilha da tarefa
NULL, //Parâmetro da tarefa
1, //Prioridade da tarefa (0 é a menor prioridade)
NULL //Identificador da tarefa (opcional)
);
}
void loop() {
// loop vazio, o código da aplicação está nas tarefas
delay(10); // this speeds up the simulation
}