임베디드/임베디드 레시피

Queue , Inter Task Communication

twoweeks-within 2025. 1. 10. 22:36

Queue : FIFO : 먼저 받은것부터 아웃

 

ret = gueue_get();

time_wait(ret);

> Queue 를 꺼내서 time_wait 시간 변경

 > 다른 task 에서 queue 에 값 잘 넣어주면됨

  즉, 여러개의 task 에서 한개의 task 에게 서로 다른 값을 넣어 줄 수 있음

 + 

Queue : 일종의 공간이기에

 여러 개의 task에서 할당한 값을 저장했다가 쫘르륵 처리 후 wait 하는 방식도 가능

한 queue 안에서 switch 문 같은걸로 case 를 나누어 

 해당 하는 task 가 작동하도록 할 수 있음

ex)

ret = queue_get();

switch(ret)

{

    case WORKING:

                work();

                   break;

   case ORDER:

              order();

                  break;

}

 

 > Inter Task Communication

'임베디드 > 임베디드 레시피' 카테고리의 다른 글

Watch dog  (0) 2025.01.11
DPC ,APC, Bottom Half  (0) 2025.01.11
Interrupt, Polling  (0) 2025.01.10
ATOMIC  (0) 2025.01.07
Clock Tick ISR  (0) 2025.01.07