2020년 3월 20일 금요일

STM32 : [TrueStudio]printf 사용하기

원본링크 : https://jeonhj.tistory.com/7?category=817343

C언어에는 printf 와 같은 I/O를  핸들하기 위한 많은 라이브러리가 있습니다.

이를 TrueStudio와 같은 임베디드 플랫폼에서 사용하기 위해서는 함수 설정(리다이렉트, redirect)을 해주어야 합니다. 

TrueStudio에서는 아래의 설정에 의해 syscalls.c 파일에서 I/O 리다이렉트 시킵니다.



syscalls.c 파일이 없다면, 아래와 같이 syscalls.c를 생성합니다.

프로젝트 오른쪽 클릭 -> 새로 만들기 -> 기타 ->System calls -> Minimal System Calls Implementations






그러면 아래와 같이 파일 트리에 syscalls.c 가 생성됩니다.



그 후 main.c에 아래와 같은 코드를 넣어주어야 합니다.

* HAL Library사용


int _write(int file, char *ptr, int len){
HAL_UART_Transmit(&huart1, (uint8_t*)ptr, len, 100);
return (len);
}



여기서 huart1은 사용하는 usart 인터페이스 변수를 넣으면 됩니다.

댓글 없음:

댓글 쓰기