// make function for task1
void Task1(void *pt)
{
pinMode(32, OUTPUT);
for (;;) {
digitalWrite(32, HIGH); // Turn on LED
delay(500);
digitalWrite(32, LOW); // Turn off LED
delay(500);
}
}
void Task2(void *pt){
pinMode(21, INPUT_PULLUP);
for (;;) {
if (digitalRead(21) == 0) {
Serial.println("BTNA");
}
vTaskDelay(50 / portTICK_PERIOD_MS); // Debouncing delay
}
}
void Task3(void *pt){
pinMode(22, INPUT);
for (;;) {
if (digitalRead(22) == 1) {
Serial.println("BTNB");
}
vTaskDelay(50 / portTICK_PERIOD_MS); // Debouncing delay
}
}
//const int ledPin = 32; // D32
void setup() {
// Initialize the LED pin as an output
Serial.begin(9600);
xTaskCreatePinnedToCore(Task1,"LED1", 1024, NULL, 3, NULL, 1);
xTaskCreatePinnedToCore(Task2,"BTNA", 1024, NULL, 1, NULL, 1);
xTaskCreatePinnedToCore(Task3,"LED1", 1024, NULL, 1, NULL, 1);
}
void loop() {
}