[FreeRTOS] 4. 태스크 생성, 정지, 우선순위 재설정, 재시작


참고 : 레퍼런스 읽는 요령

  1. 필요한 함수를 레퍼런스에서 찾는다.
  2. Summury 를 잠깐 보고 바로 예제코드를 보고 따라해본다.
  • 위와 같은 요령으로 하면 금방 코드를 습득할 수 있다.

xTaskCreate()

  • 태스크 생성자 함수이다.
xTaskCreate(	(TaskFunction_t)Task1,		/* Pointer to the function that implements the task. */
						"Task1",	/* Text name for the task.  This is to facilitate debugging only. */
						128,		/* Stack depth - most small microcontrollers will use much less stack than this. */
						NULL,		/* We are not using the task parameter. */
						TASK_MAIN_PRIO,	/* This task will run at this priority */
						&xHandleMain );		/* We are not using the task handle. */
  • xCreateTask(
    • 태스크함수,
    • 별명,
    • 태스크 사이즈(워드),
    • 함수에게 넘길 파라미터,
    • 태스크우선순위,
    • 태스크핸들러)
  • FreeRTOS 레퍼런스를 읽으며 코드를 사용하자.

xTaskSuspend()

  • Task를 일시중지 시키며, vTaskResume()이 오면 그 태스크는 다시 동작함.
  • 요로콤 해당 핸들러만 가져와서 일시중지 됨

vTaskPrioritySet()

  • 해당 태스크의 우선순위(Priority)를 재설정 한다.
  • 선점형 커널형에서 요긴하게 쓰일듯

vTaskResume()

  • 중지되었던 태스크가 돌아가기 시작한다.

좋은 웹페이지 즐겨찾기