#define LED_PIN1 2
#define LED_PIN2 4
#define LED_PIN3 16
void setup() {
Serial.begin(115200);
xTaskCreatePinnedToCore(LED1, "Encender LED 1", 2048, NULL, 0, NULL, 0);
xTaskCreatePinnedToCore(LED2, "Encender LED 2", 2048, NULL, 0, NULL, 1);
xTaskCreatePinnedToCore(LED3, "Encender LED 3", 2048, NULL, 0, NULL, 1);
pinMode(LED_PIN1, OUTPUT);
pinMode(LED_PIN2, OUTPUT);
pinMode(LED_PIN3, OUTPUT);
}
void loop() {
delay(10); // this speeds up the simulation
}
void LED1 (void *parameters)
{
TickType_t xLastWakeTime1;
const TickType_t xPeriod1 =500 / portTICK_PERIOD_MS;
xLastWakeTime1 = xTaskGetTickCount();
while(1)
{
vTaskDelayUntil ( &xLastWakeTime1, xPeriod1);
digitalWrite(LED_PIN1, !digitalRead(LED_PIN1));
}
}
void LED2 (void *parameters)
{
TickType_t xLastWakeTime2;
const TickType_t xPeriod2 =1000 / portTICK_PERIOD_MS;
xLastWakeTime2 = xTaskGetTickCount();
while(1)
{
vTaskDelayUntil ( &xLastWakeTime2, xPeriod2);
digitalWrite(LED_PIN2, !digitalRead(LED_PIN2));
}
}
void LED3 (void *parameters)
{
TickType_t xLastWakeTime3;
const TickType_t xPeriod3 =2000 / portTICK_PERIOD_MS;
xLastWakeTime3 = xTaskGetTickCount();
while(1)
{
vTaskDelayUntil ( &xLastWakeTime3, xPeriod3);
digitalWrite(LED_PIN3, !digitalRead(LED_PIN3));
}
}Loading
esp32-devkit-c-v4
esp32-devkit-c-v4