#include <Arduino_FreeRTOS.h>
void TaskBlink1 ( void *pvParameters );
void TaskBlink2( void *pvParameters );
void Taskprint ( void*pvParameters);

void setup() {
Serial.begin(9600);
xTaskCreate(
  TaskBlink1
  , "task1"
  , 128
  , NULL 
  ,2
  , NULL);
  xTaskCreate(
    TaskBlink2
    , "task2"
    ,128
    , NULL
    ,1
    ,NULL);
    xTaskCreate(
 Taskprint
 , "task3"
 , 128
 , NULL
 , 1
 , NULL );
}
void loop() {
}
void TaskBlink1 (void*pvParameters){
  pinMode(8, OUTPUT);
  while(1)
  {
    Serial.println(("Task1"));
    digitalWrite(8, HIGH);
    vTaskDelay(2000/ portTICK_PERIOD_MS);
    digitalWrite(8,LOW);
    vTaskDelay(3000 / portTICK_PERIOD_MS);
  }
}
void TaskBlink2(void*pvParameters)
{
  pinMode(7, OUTPUT);
  while(1)
  {
    Serial.println("Task2");
    digitalWrite(7, HIGH);
    vTaskDelay( 2500 / portTICK_PERIOD_MS );
    digitalWrite(7, LOW);
    vTaskDelay( 500 / portTICK_PERIOD_MS );
  }
}
void Taskprint(void*pvParameters){
  int counter =0;
  while(1)
  {
    counter++;
    Serial.println(counter);
    vTaskDelay(500 / portTICK_PERIOD_MS);
  }
}