DSP

【STM32】printf函数输出到串口的实现方法

2019-07-13 15:34发布

C语言中的标准库中所用的标准输出函数,默认的输出设备是显示器,要实现串口或LCD的输出,必须重新定义标准库函数里与输出函数相关的函数。例如:printf输出到串口,需要将fputc里面的输出指向串口(重定向),实现代码如下: #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; }