#define LED_PIN1 26
#define BUTTON_PIN1 27
#define LED_PIN2 5
#define BUTTON_PIN2 17
long int t1;
long int t2;
void IRAM_ATTR ISRledConm1()
{
digitalWrite(LED_PIN1, !analogRead(BUTTON_PIN1));
Serial.print("INT LED1 Core: ");
Serial.println(xPortGetCoreID());
}
void IRAM_ATTR ISRledConm2()
{
digitalWrite(LED_PIN2, !analogRead(BUTTON_PIN2));
Serial.print("INT LED2 Core: ");
Serial.println(xPortGetCoreID());
}
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);
pinMode(LED_PIN1, OUTPUT);
pinMode(BUTTON_PIN1, INPUT_PULLUP);
pinMode(LED_PIN2, OUTPUT);
pinMode(BUTTON_PIN2, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(BUTTON_PIN1), ISRledConm1, CHANGE);
attachInterrupt(digitalPinToInterrupt(BUTTON_PIN2), ISRledConm2, CHANGE);
t1=0.0;
t2=0.0;
}
void loop()
{
delay(10);
}
void LED1 (void *parameters)
{
while(1)
{
Serial.print("Core: ");
Serial.println(xPortGetCoreID());
Serial.println("Frecuencia: ");
Serial.println(1 / double((millis() - t1) / 1e3));
t1 = millis();
delay(500);
}
}
void LED2 (void *parameters)
{
while(1)
{
Serial.print("Core: ");
Serial.println(xPortGetCoreID());
Serial.println("Frecuencia: ");
Serial.println(1 / double((millis() - t1) / 1e3));
t2 = millis();
delay(1000);
}
}