Цитата(simark1979 @ May 8 2018, 11:01)
В этой связи возникло два вопроса, которые я не могу понять.
1. Возможно ли без бубнов узнать по её хэндлу создана ли задача в планировщике и нет? или запоминать в static переменных
Цитата
1. Хендл == указатель. Если кратко и упрощая. Можно ли по указателю сказать что там мусор или что-то стоящее?
xTaskHandle handleTask1 = 0;
...
if(handleTask1)
{
убиваем задачу
handleTask1 = 0;
} Хотел написать пример, как это решить, заглянул в
мануал, там тот же пример. Судя по описанию, указатель на задачу не сбрасывается в ноль... судя по объявлению функции vTaskDelete() - функция меняет значение указателя. Если не меняет в ноль, то дополняется одной строчкой
Код
void vOtherFunction( void )
{
TaskHandle_t xHandle = NULL;
// Create the task, storing the handle.
xTaskCreate( vTaskCode, "NAME", STACK_SIZE, NULL, tskIDLE_PRIORITY, &xHandle );
// Use the handle to delete the task.
if( xHandle != NULL )
{
vTaskDelete( xHandle );
xHandle = NULL; //добавляем сброс указаетля
}
}