红牛stmf103原版例程红牛板hal库版之usart

用cubeMX配置串口很简单  如下     这里用的是硬uart1  

 

 

 

在main.c里添加这几行,就可以把printf重定向到串口

#ifdef __GNUC__
/* With GCC, small printf (option LD Linker->Libraries->Small printf
   set to 'Yes') calls __io_putchar() */
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else  //如果用的是keil,要在配置里勾选use microlib
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif /* __GNUC__ */

 

 重新定义putchar

/**
  * @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 USART1 and Loop until the end of transmission */
  HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xFFFF);

  return ch;
}

 

posted @ 2022-09-29 23:56  kyo413  阅读(46)  评论(0编辑  收藏  举报