TrueSTUDIO 中printf()格式化函數的使用

代碼中隨意位置添加:

#include "stdio.h"

#ifdef __GNUC__

#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
PUTCHAR_PROTOTYPE
{
  HAL_UART_Transmit(&huart1, (uint8_t*)&ch, 1, HAL_MAX_DELAY);

  return ch;
}
#endif

int _write(intfile, char *ptr, int len)
{
     int DataIdx;
      
     for (DataIdx = 0; DataIdx < len;DataIdx++)
     {
           __io_putchar(*ptr++);
     }
      return len;
}

其中HAL_UART_Transmit(&huart1, (uint8_t*)&ch, 1, HAL_MAX_DELAY);
huart1是自己配置的串口的句柄。

爲使printf中支持浮點型數據,需設置如下:
添加:-u_printf_float

在這裏插入圖片描述
  注,本人使用的是c++,若使用的是c,則需在C Linker選項下添加上述內容。

  至此,在代碼任意位置可以使用printf打印浮點型,整型等格式化後的數據。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章