Hello,
if have a Problem when i suspend more tasks. I work on IAR, EFM32G290F128.
Task1()Priority:3
{
___xTaskCreate(Taks2,…);
___xTaskCreate(Taks3,…);
vTaskSuspend( Task1 );
…
}
Task2()Priority:2
{
___xTaskCreate(Taks4,…);
vTaskSuspend( Task2 );
…
vTaskResume(Task1);
….
}
Task3()Priority:2
{
___xTaskCreate(Taks5,…);
vTaskSuspend( Task3 );
…
vTaskResume(Task1);
…
}
Task4()Priority:1
{
…
vTaskResume(Task2);
…
}
Task5()Priority:1
{
…
vTaskResume(Task3);
}
When I goto vTaskSuspend( Task3 ); then it goes no further.
suspend task
suspend task
When I goto vTaskSuspend( Task3 ); then it goes no further, because Task4 and Task5 are not generated.
Why?
suspend task
Ok now I gernerate Task4 und Task5 but now when i goto vTaskSuspend( Task3 ) it stopped
suspend task
This is an immensely complex scenario that I don’t want to work through, but even if I did there is no way I could possibly tell which task would run when without knowing their priorities.
Regards.
suspend task
The priorities are:
Task1 ->3
Task2 ->2
Task3 ->2
Task4 ->1
Task5 ->1 Task2 and Task3 are periodic tasks. Tasks2 Periode->100ms, Tasks3 Periode->50ms
Task4 and Task5 will generate and after they are ready they delete themselves.
Task1 ist active when Task2 and Task3 are in blocked state.
Task1 ->3
Task2 ->2
Task3 ->2
Task4 ->1
Task5 ->1 Task2 and Task3 are periodic tasks. Tasks2 Periode->100ms, Tasks3 Periode->50ms
Task4 and Task5 will generate and after they are ready they delete themselves.
Task1 ist active when Task2 and Task3 are in blocked state.