지난 포스트에서 좀 더 자세히 CubeMX에서 설정 부터 UART(USART) Printf - HAL & Polling을 설명해보도록 하겠습니다. 실제로 어플리케이션을 개발할 때 내부 동작 순서나 Debugging을 위해 자주 사용하는 printf() Log 출력하는 방법을 STM32G431RB Nucleo board를 사용해서 UART를 통해 구현해보겠습니다. CubeMX(혹은 CubeIDE)핀 설정은 아래와 같이 해줍니다. LPUART : PA2, PA3 BUTTON : PC13 STM32G4 Nucleo board에는 LPUART PA2,PA3을 통해서 UART VCP로 사용할 수 있습니다. 내부 회로도를 확인해 보면 PA2, PA3 핀은 ST-Link와 연결되어 최종적으로 PC에 Virtual C..
안녕하세요? 오늘은 자꾸만 까먹어서 기록해 놓은 STM32CubeIDE에서 에서 가장 많이 사용되는 printf 함수의 uart(usart) 구현 방법을 알아보겠습니다. 코드 먼저 보도록 하겠습니다. #include printf가 사용된 곳에 위의 를 include 해줍니다. 그리고 실제 STM32CubeIDE에서 사용가능하도록 _write 함수를 구현해 주면 끝납니다. int _write(int file, char *ptr, int len) { HAL_UART_Transmit(&hlpuart1, (uint8_t *)ptr, len, HAL_MAX_DELAY); return len; } 추가로 printf에서 float 형태의 인자를 받기위해서는 아래와 같은 설정을 해주어야 합니다. 다만 주의할 점은 s..
IAR 9.20.1 버전 이후 에 overriding 되어 있는 fputc() 은 더 이상 동작하지 않습니다. 자세한 내용은 아래 URL을 참조하시기 바랍니다. https://www.iar.com/kr/knowledge/support/technical-notes/compiler/migrating-projects-with-the-custom-fputc-function/ 사용자 정의 fputc() 함수로 프로젝트 마이그레이션 사용자 정의 fputc() 함수로 프로젝트 마이그레이션 기술노트 220216 아키텍처: Arm 컴포넌트: compiler 업데이트: 2022-07-05 오전 12:10 개요 사용자 정의 함수 fputc()가 있는 일부 프로젝트가 EWARM 9.20.1 이 www.iar.com 위의 Ap..