1. 程式人生 > >stm32f7 HAL庫 串列埠重定向 使用printf

stm32f7 HAL庫 串列埠重定向 使用printf

首先將串列埠初始化,然後新增重定向程式碼

下面使用的是串列埠三,因此以串列埠三為例:

UART_HandleTypeDef huart3;
#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(&huart3, (uint8_t *)&ch, 1, 0x0001);
  return ch;
}

新增完程式碼後就可以使用printf進行列印了~