#include <Arduino.h>
#include <freertos/FreeRTOS.h>
#include <freertos/task.h>
void Task_Controlled(void *param);
void Task_Print(void *param);
TaskHandle_t Task_Handle1;
TaskHandle_t Task_Handle2;
void setup()
{
Serial.begin(9600);
pinMode(8,INPUT_PULLUP);
pinMode(13,OUTPUT);
xTaskCreatePinnedToCore(Task_Controlled,"Task1",1000,NULL,1,&Task_Handle1,0);
xTaskCreatePinnedToCore(Task_Print,"Task2",1000,NULL,2,&Task_Handle2,0);
}
void loop(){
}
void Task_Print(void *param)
{
(void) param;
while(1)
{
Serial.println("Task2");
vTaskDelay(pdMS_TO_TICKS(1000));
}
}
void Task_Controlled(void *param)
{
(void) param;
while(1)
{
if(digitalRead(8)==0)
{
while(digitalRead(8)==0)
digitalWrite(13,LOW);
vTaskDelay(pdMS_TO_TICKS(1000));
}
else
digitalWrite(13,HIGH);
Serial.println("Task1");
vTaskDelay(pdMS_TO_TICKS(1000));
}
}