STM32F1

STM32F1, STMCubeMX, printf

CoyoteUgly 2018. 8. 3. 13:56

STM32F1, STMCubeMX, printf


USART1을 통해 printf문으로 디버깅 로그를 보는 방법을 소개합니다.



0. 참고 사이트


1. HW 연결

GND, TX, RX 만 연결하였습니다.
TX, RX는 당연히 Cross 해야 합니다.


2. USART1 > Asynchronous


3. Keil > usart.c


아래 텍스트를 USER CODE BEGIN ~ END 사이에 복붙하세요


/* USER CODE BEGIN 1 */


#ifdef __GNUC__
  /* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf
     set to 'Yes') calls __io_putchar() */
  #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
  #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif /* __GNUC__ */
/**
  * @brief  Retargets the C library printf function to the USART.
  * @param  None
  * @retval None
  */
PUTCHAR_PROTOTYPE
{
  /* Place your implementation of fputc here */
  /* e.g. write a character to the EVAL_COM1 and Loop until the end of transmission */
  HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xFFFF);

  return ch;
}


/* USER CODE END 1 */


4. Keil > main.c

printf("printf %s %d\r\n", "Good", 7);
HAL_Delay(1000);


5. 소스


6. 결과


'STM32F1' 카테고리의 다른 글

STM32F1, STMCubeMX, I2C, LCD1602  (0) 2018.08.03
STM32F1, STMCubeMX, 1us delay  (0) 2018.08.03
STM32F1, STM32CubeMX, 최대 Clock 설정  (0) 2018.08.02
STM32F1, STM32CubeMX, Report  (0) 2018.08.02
STM32F1, STM32CubeMX, User Label  (0) 2018.08.02