trueStudio中使用printf函数

1、通过printf输出浮点数需要如下设置:

在工程属性下找到C/C++ build->Settings->Tool Settings->C Linker->Miscellaneous->Other options 选项空中填写:-u_printf_float即可。到此为止TrueStudio即可支持printf的所有数据类型输出

2、在usart.c中添加如下函数即可让TrueStudio支持printf输出注意代码必须添加在USER CODEBEGIN xUSER CODE ENDX之间,否则下次设置cube生成会自动丢掉

/* USER CODE BEGIN 1 */
//加入以下代码支持printf函数
#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__ */
PUTCHAR_PROTOTYPE
{
  /* Place your implementation of fputc here */
  /* 使用的串口可根据实际配置修改 */
  HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xFFFF);
  return ch;
}

int _write(int32_t file, char *ptr, int len)
{
	int DataIdx;
	for (DataIdx = 0; DataIdx < len;DataIdx++)
	{
	   __io_putchar(*ptr++);
	}
	return len;
}
/* USER CODE END 1 */

3、在使用printf的时候,在打印数据完成后一定要有printf(" "),也就是必须要打印换行符,不然数据打印不出来!!!

原文地址:https://www.cnblogs.com/yeshenmeng/p/10647645.html