#include <Arduino.h>
#include <freertos/FreeRTOS.h>
#include <freertos/task.h>
#define RED 5
#define GREEN 15
int RedLEDProfiler;
int GreenLEDProfiler;
TaskHandle_t red_Handle,Green_Handle;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
xTaskCreatePinnedToCore(redledControllerTask,"RED LED Task",100,NULL,1,&red_Handle,0);
xTaskCreatePinnedToCore(GreenControllerTask,"GREEN LED Task",100,NULL,1,&Green_Handle,0);
}
void redledControllerTask(void*pvParameters){
pinMode(RED,OUTPUT);
while(1){
RedLEDProfiler++;
Serial.print("Red Task runtime: ");
Serial.println(RedLEDProfiler);
digitalWrite(RED,digitalRead(RED)^1);
vTaskDelay(pdMS_TO_TICKS(1000));
}
}
void GreenControllerTask(void*pvParameters){
pinMode(GREEN,OUTPUT);
while(1){
GreenLEDProfiler++;
Serial.print("Green Task Runtime: ");
Serial.println(GreenLEDProfiler);
digitalWrite(GREEN,digitalRead(GREEN)^1);
if(RedLEDProfiler==10){
vTaskPrioritySet(NULL,2);
}
vTaskDelay(pdMS_TO_TICKS(1000));
}
}
void loop() {
}