인프런 커뮤니티 질문&답변

김세원님의 프로필 이미지
김세원

작성한 질문수

FreeRTOS 프로그래밍

소스분석-10_Queue 마무리

프로젝트 구조 질문

작성

·

118

2

안녕하세요. 강의 잘 보고 있습니다.

예제 프로젝트의 구조에 대해 질문이 있습니다.

모든 예제를 보면 main.c에서 USER_THREADS함수를 호출하고 TaskMain 하나를 만듭니다. 그리고 TaskMain에서 사용할 Task들을 만들고 TaskMain은 Delete합니다.


질문) 제 생각에는 그냥 USER_THREADS에서 사용할 Task들을 만들면 될 것 같은데 TaskMain을 만들어서 거기서 사용할 Task들을 만든 이유가 궁금합니다. 물론 어떤 방식이던 결과는 같을 것 같은데 이유가 있는지 궁금하네요 ㅎㅎ

감사합니다.

답변 1

0

홍영기님의 프로필 이미지
홍영기
지식공유자

안녕하세요. 김세원님!
01_TASKMAN, 02_STACKOVERFLOW, ... 모든 프로젝트는 task.c 만 다르게하고 main.c 파일 내용은 동일하게 유지하여 학습자가 소스를 볼 때 편리하도록 배려하였습니다.

이제 궁금증이 풀리셨나요 ? 🙂

저도 질문자 님과 동일하게 궁금했던 사항인데요.

제 오해일 수 도 있을지 모르겠지만,

질문자님 질문의 요지는 "USER_THREADS" 함수내에서 TaskMain 을 생성하고, TaskMain에서 Task1 또는 Task2를 만들어서 사용하는 이유를 여쭤보는 것 같아요.

즉, "USER_THREADS" 함수 내에서 바로 Task1, Task2를 직접 만들더라도, osKernelStart를 호출하기 전까지는 어차피 Task1, Task2이 설계한 바대로 동작하는 것에는 영향이 없을 것 같아서 인거죠.

강의에서 말씀하셨던 것 처럼 Task를 삭제하는게 썩 좋은 접근은 아니라고 하셨던 내용도 있고요.

홍영기님의 프로필 이미지
홍영기
지식공유자

@southseo 맞습니다. USER_THREADS 함수내에서 Task1 또는 Task2 을 생성하는 것도 가능합니다 ^^

김세원님의 프로필 이미지
김세원

작성한 질문수

질문하기