I have got two task (task1 and task2). And I need restart second task, when I receive message from CAN. Any idea how?
Ok. I solved the problem.
volatile uint8_t restart = 0;
extern void task1(void *pvParameters)
{
UNUSED(pvParameters);
const portTickType xDelayTime = 5 / portTICK_RATE_MS;
int16_t stop = 0;
int16_t fast= 0;
for (;;)
{
if (xQueueReceive(can_message, &stop, 100) == pdPASS)
restart = 1;
vTaskDelay(xDelayTime);
}
}
extern void task2(void *pvParameters)
{
UNUSED(pvParameters);
const portTickType xDelayTime = 15 / portTICK_RATE_MS;
for (;;)
{
/*inits of task, vatiable set,...*/
while(restart != 1)
{
/*function loop*/
restart = 0;
}
vTaskDelay(xDelayTime);
}
}