Зачем в личку. Здесь конечно же.
вот собственно код . состряпан по примерам . но чтото задача не гасится. #include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_task_wdt.h"
#include "Arduino.h"
TaskHandle_t Task1;
TaskHandle_t Task2;
TaskHandle_t Taskb;
TaskHandle_t DelT;
void Task1code( void * pvParameters );
void DelTask ( void * pvParameters );
// Контакты для светодиодов:
const int led1 = 22;
//контакт для кнопки
const int buttonPin = 19; // номер контакта для кнопки
void setup() {
Serial.begin(115200);
pinMode(led1, OUTPUT);
pinMode(buttonPin, INPUT);
xTaskCreate(
Task1code, /* Функция задачи */
"Task1", /* Название задачи */
1024, /* Размер стека задачи */
NULL, /* Параметр задачи */
1, /* Приоритет задачи */
&Task1); /* Идентификатор задачи, чтобы ее можно было отслеживать */
xTaskCreate(
DelTask, /* функциф задачи , прибивает указанные процессы */
"Del", /*название задачи*/
1024, /* размер стека */
NULL, /* параметр задачи */
1, /*Приоритет задачи*/
&DelT);/* Идентификатор задачи, чтобы ее можно было отслеживать */
vTaskStartScheduler();
}
// Функция Task2code: мигает светодиодом каждые 700 мс:
//void Task2code( void * pvParameters ){
//Serial.print("Task2 running on core ");
// "Задача Task2 выполняется на ядре "
//Serial.println(xPortGetCoreID());
//for(;;){
// digitalWrite(led2, HIGH);
// vTaskDelay( 700 / portTICK_PERIOD_MS );;
// digitalWrite(led2, LOW);
// vTaskDelay( 700 / portTICK_PERIOD_MS );;
//}
//}
void loop() {
}
// Функция Task1code: мигает светодиодом каждые 1000 мс:
void Task1code( void * pvParameters ){
Serial.print("Task1 running on core ");
Serial.println(xPortGetCoreID());
for(;;){
digitalWrite(led1, HIGH);
vTaskDelay( 1000 / portTICK_PERIOD_MS );
digitalWrite(led1, LOW);
vTaskDelay( 1000 / portTICK_PERIOD_MS );
}
}
//функия DelTask пять секунд ждет а потом завершает мигание светодиодом
void DelTask ( void * pvParameters ){
Serial.print("DelTask run ");// "задача DelTask запущена"
long start = xTaskGetTickCount();
Serial.print("ticks from boot : ");
Serial.print(start);
vTaskDelay( 5000 / portTICK_PERIOD_MS );
vTaskDelete(Task1);
//vTaskDelete(NULL);
}