1.printf适配

与在keil中不同,通常是直接重写fputc()函数, 就能将printf函数打印的内容输出到串口。

而使用gcc交叉编译工具链编译时,则需要重写_write函数:

int _write(int fd, char *ptr, int len)
{ 
  return HAL_UART_Transmit(&huart1, (uint8_t *)ptr, len, 0xFFFF); 
}

2.浮点数适配

使用gcc编译代码时,会发现printf无法正常打印浮点数。
在编译时添加参数 "-Wl,-u_printf_float",即可正常通过printf输出浮点数。

更多推荐