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 인터페이스 변수를 넣으면 됩니다.

반응형

+ Recent posts