代碼中隨意位置添加:
#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打印浮點型,整型等格式化後的數據。