#include <Arduino_FreeRTOS.h>
/*led pins
RED - PD5
BLUE - PD6
YELLOW -PD7
*/
#define RED (1<<5)
#define BLUE (1<<6)
#define YELLOW (1<<7)
void setup(){
//set port D led pins as output pins
DDRD |= RED|BLUE|YELLOW;
//start serial monitor
Serial.begin(9600);
Serial.print("Started");
//Create tasks
xTaskCreate(red_led_task1, "red led", 128, NULL, 1, NULL);
xTaskCreate(blue_led_task2, "blue led", 128, NULL, 1, NULL);
xTaskCreate(yellow_led_task3, "yellow led", 128, NULL, 1, NULL);
}
void red_led_task1(void *pvParameters){
while(1){
PORTD ^= RED;
vTaskDelay(pdMS_TO_TICKS(1000));
Serial.println("Task - 1");
}
}
void blue_led_task2(void *pvParameters){
while(1){
PORTD ^= BLUE;
vTaskDelay(pdMS_TO_TICKS(1000));
Serial.println("Task - 2");
}
}
void yellow_led_task3(void *pvParameters){
while(1){
PORTD ^= YELLOW;
vTaskDelay(pdMS_TO_TICKS(1000));
Serial.println("Task - 3");
}
}
void loop(){}