system
(system)
February 9, 2012, 9:00am
1
malacay wrote on Thursday, February 09, 2012 :
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.
system
(system)
February 9, 2012, 9:27am
2
malacay wrote on Thursday, February 09, 2012 :
When I goto vTaskSuspend( Task3 ); then it goes no further, because Task4 and Task5 are not generated.
Why?
system
(system)
February 9, 2012, 10:03am
3
malacay wrote on Thursday, February 09, 2012 :
Ok now I gernerate Task4 und Task5 but now when i goto vTaskSuspend( Task3 ) it stopped
rtel
(Richard Barry)
February 9, 2012, 10:33am
4
rtel wrote on Thursday, February 09, 2012 :
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.
system
(system)
February 9, 2012, 11:20am
5
malacay wrote on Thursday, February 09, 2012 :
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.