• 카테고리

    질문 & 답변
  • 세부 분야

    임베디드 · IoT

  • 해결 여부

    해결됨

fflush(stdout) 관련 질문 드립니다.

21.07.13 06:12 작성 조회수 143

1

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

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

소스코드 분석 - printf와 fflush에서 약간 이해가 안되어 질문 드립니다.

STM32CubeIDE에서 printf함수에 개행문자를 넣지 않으면 버퍼에 쌓아놓았다가 출력하기 때문에 fflush(stdout)과 같이 사용하는 것으로 이해됩니다. 여기서 stdout은 표준 출력 장치를 말하는 것인데, UART 출력이 표준 출력 장치로 잡혀 있는 것인가요?...

답변 1

답변을 작성해보세요.

0

김상현님!!! FreeRTOS 강좌를 수강해주셔서 감사드립니다. 질문해주신 부분에 대한 답변드립니다.

잘 아시다시피 printf 는 기본 출력 장치로 모니터를 사용하고 있는 C-runtime 라이브러리의 함수입니다.

STM32CubeIDE 컴파일러에서는 syscalls.c 함수의 _write 함수를 이용하여 UART 시리얼 통신을 디폴트 출력 장치로 재 정의할 수 있도록 하고 있습니다.

이 강좌에서는 이 부분을 다음의 챕터에서 설명하고 있는데요, 참고해 보시기 바랍니다.

섹션 2. FreeRTOS 포팅 실습 > 포팅-printf