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 인터페이스 변수를 넣으면 됩니다.
댓글 없음:
댓글 쓰기