Escolar Documentos
Profissional Documentos
Cultura Documentos
FreeRTOS - Multicore
A seguinte função permite descobrir em qual core o programa carregado está rodando:
xPortGetCoreID()
TaskHandle_t Task1;
TaskHandle_t Task2;
// LED pins
const int led1 = 2;
const int led2 = 4;
void setup() {
Serial.begin(115200);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
for(;;){
digitalWrite(led1, HIGH);
vTaskDelay(1000);
digitalWrite(led1, LOW);
vTaskDelay(1000);
}
}
for(;;){
digitalWrite(led2, HIGH);
vTaskDelay(700);
digitalWrite(led2, LOW);
vTaskDelay(700);
}
}
void loop() {
Iremos aplicar semáforos para controlar o acesso exclusivo à porta serial do ESP32. Para
esta aplicação, precisaremos de um interpretador python instalado na máquina ou utilizar
um monitor serial do seu ambiente de simulação para enviar/receber os dados.
SemaphoreHandle_t xSerialSem;
void setup()
{
Serial.begin(115200);
while (!Serial) {}
void loop() { }
Caso opte por usar um interpretador Python, abra um programa em branco e cole o
seguinte programa:
import serial
ser = serial.Serial()
ser.baudrate = 115200
ser.port = 'COM4'
ser.open()
values = bytearray([4, 9, 62, 144, 56, 30, 147, 3, 210, 89, 111, 78, 184,
151, 17, 129])
ser.write(values)
total = 0
ser.close()
Especifique a porta serial onde está localizado o ESP32 (‘COM4’ em meu computador). A
seguir rode o programa. O resultado esperado é o seguinte.
Note que a mesma sequencia que é enviada para o processador do ESP32 é retornada
para o programa.
Caso tenha optado por rodar o programa no simulador Wokwi, o resultado esperado é o
seguinte: