在STM32开发过程中必然需要串口打印参与调试,而往往STM32调试分配串口不会固定,可能是在串口1,也有可能为串口2。该如何对printf进行重新映射串口呢?
只需要在生成的工程代码中添加如下代码:
#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进行打印。
上一篇:stm32常见通信方式(TTL、RS232、RS485、CAN)总结
下一篇:stm32 DMA的Stream和Channel的映射关系