在STM32開發(fā)過程中必然需要串口打印參與調(diào)試冰寻,而往往STM32調(diào)試分配串口不會固定,可能是在串口1猪杭,也有可能為串口2樊拓。該如何對printf進(jìn)行重新映射串口呢纠亚?
只需要在生成的工程代碼中添加如下代碼:
#include "stdio.h"
#ifdef __GNUC__
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif
PUTCHAR_PROTOTYPE
{
HAL_UART_Transmit(&huart2 , (uint8_t *)&ch, 1, 0xFFFF);
return ch;
}
這之后將MCU的打印口修改為串口2進(jìn)行打印。