#include <Arduino_FreeRTOS.h>
#define RED 6
#define YELLOW 3
#define GREEN 2
typedef int Taskprofiler;
Taskprofiler RedLEDProfiler;
Taskprofiler YellowLEDProfiler;
Taskprofiler GreenLEDProfiler;
void setup() {
Serial.begin(9600); // Initialize serial communication at 9600 baud
//while (!Serial) {
// ; // wait for serial port to connect. Needed for native USB port only
//}
xTaskCreate(redLedControllerTask, "RED LED Task", 128, NULL, 1, NULL);
xTaskCreate(yellowLedControllerTask, "Yellow LED Task", 128, NULL, 1, NULL);
xTaskCreate(greenLedControllerTask, "Green LED Task", 128, NULL, 1, NULL);
}
void redLedControllerTask(void *pvParameters) {
pinMode(RED, OUTPUT);
while(1) {
RedLEDProfiler++;
Serial.print("RedLEDProfiler: ");
Serial.println(RedLEDProfiler);
digitalWrite(RED, digitalRead(RED)^1);
vTaskDelay(1000 / portTICK_PERIOD_MS);
}
}
void yellowLedControllerTask(void *pvParameters) {
pinMode(YELLOW, OUTPUT);
while(1) {
YellowLEDProfiler++;
Serial.print("YellowLEDProfiler: ");
Serial.println(YellowLEDProfiler);
digitalWrite(YELLOW, digitalRead(YELLOW)^1);
vTaskDelay(1000 / portTICK_PERIOD_MS);
}
}
void greenLedControllerTask(void *pvParameters) {
pinMode(GREEN, OUTPUT);
while(1) {
GreenLEDProfiler++;
Serial.print("GreenLEDProfiler: ");
Serial.println(GreenLEDProfiler);
digitalWrite(GREEN, digitalRead(GREEN)^1);
vTaskDelay(1000 / portTICK_PERIOD_MS);
}
}
void loop() {}