#include <Arduino_FreeRTOS.h>
void TaskBlink1( void *pvParameters );
void TaskBlink2( void *pvParameters );
void TaskBlink3( void *pvParameters );
void setup() {
xTaskCreate(TaskBlink1, "Blink1", 128, NULL, 2,NULL);
xTaskCreate(TaskBlink2, "Blink2", 128, NULL, 2, NULL);
xTaskCreate(TaskBlink3, "Blink3", 128, NULL, 2, NULL);
}
void loop()
{
// не чего не пишем
}
void TaskBlink1(void *pvParameters) // Это задача.
{
(void) pvParameters;
pinMode(LED_BUILTIN, OUTPUT);
for (;;) // задача должна никогда не прекращаться или прерываться
{
digitalWrite(LED_BUILTIN, HIGH); // включить светодиод
vTaskDelay( 700 / portTICK_PERIOD_MS ); // ждать 0,7 секунды
digitalWrite(LED_BUILTIN, LOW); // выключить светодиод
vTaskDelay( 300 / portTICK_PERIOD_MS ); // ждать 0,7 секунды
}
}
void TaskBlink2(void *pvParameters)
{
(void) pvParameters;
pinMode(6, OUTPUT);
for (;;)
{
digitalWrite(6, HIGH);
vTaskDelay( 1000 / portTICK_PERIOD_MS );
digitalWrite(6, LOW);
vTaskDelay( 1000 / portTICK_PERIOD_MS );
}
}
void TaskBlink3(void *pvParameters)
{
(void) pvParameters;
pinMode(5, OUTPUT);
for (;;)
{
digitalWrite(5, HIGH);
vTaskDelay( 300 / portTICK_PERIOD_MS );
digitalWrite(5, LOW);
vTaskDelay( 300 / portTICK_PERIOD_MS );
}
}