Я использую FreeRtos, и у меня есть задача, которую я использую несколько раз. Я вызываю функции stati c в Task. При многократном использовании этой задачи, будут ли функции stati c перезаписаны данными друг друга или вызовут какие-либо проблемы? Например ...
static int addSomeNumbers(int x)
{
int num1 = 4;
int num2 = 83;
int num3 = 65;
return x+num1+num2+num3;
}
void SomeTask(void *pvParameters)
{
int localInt = *(int *) pvParameters;
addSomeNumbers(localInt);
//continue
}
Я использую эту задачу три раза
xTaskCreate(SomeTask, "SomeTask0", stackDepth, someNumber0, ...)
xTaskCreate(SomeTask, "SomeTask1", stackDepth, someNumber1, ...)
xTaskCreate(SomeTask, "SomeTask2", stackDepth, someNumber2, ...)
Проблема, с которой я сталкиваюсь, заключается в том, что данные, которые я вижу исходящие из каждой задачи, несовместимы. Кажется, что вторая задача иногда использует данные первой задачи в пределах addSomeNumbers
и так далее. Есть ли способ предотвратить это?