新手配置SW4STM32的printf函数
写这个主要为了记录学习遇到的问题并且备份。如果有错误欢迎指正。
我把这一部分另外做了一个小模块。
这是头文件
#ifndef PRINTF_H_
#define PRINTF_H_
#include "stm32f3xx_hal.h"
#include "stdio.h"
#endif /* PRINTF_H_ */
这是主要函数。
#include "printf.h"
extern UART_HandleTypeDef huart2; //声明串口
int __io_putchar(int ch)
{
HAL_UART_Transmit(&huart2, (uint8_t*) &ch, 1, 0xFFFF);
return ch;
}
里面的实例huart2可以根据自己设置的USART实例自行设置。
还要在Project-》C/C++ Build->Settings->MCU GCC Linker->Miscellaneous里面的Link flags加上-u _printf_float就可以了。