代码中随意位置添加:
#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打印浮点型,整型等格式化后的数据。