关于STM32CubeIDE使用printf串口打印

STM32CubeIDE使用printf函数实现串口打印

第一步在图形画界面进行串口配置,我们这里打开串口1并设置为异步通信模式。

配置好后,就保存起就会进入编程界面。然后进行下一步配置

在菜单栏的项目里进入属性里面

关于STM32CubeIDE使用printf串口打印_第1张图片

找到图中黄色部分, 勾选上这两个,然后点击应用并关闭就可以了。

下面进行函数重写,程序如下所示:

#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(&huart1 , (uint8_t *)&ch, 1, 0xFFFF);
    return ch;
}

这部分需要加在main函数上面那个位置,也就是在

关于STM32CubeIDE使用printf串口打印_第2张图片

 STM32CubeMX使用printf函数实现串口打印

下面这种是STM32CubeMX和keil形式使用printf函数的形式。与上面配置一样,但只需要进行一个串口重写就可以了,其内容就是和上面一样的。

UART不定长接收:

STM32关于UART的接收方式_啵啵520520的博客-CSDN博客

注意事项(针对于CUBEMX+Kile5):

       在使用过程中,如果配置了以上的配置,出现程序卡死的情况则需要开启use MicroLIB(微库)

​​​​​​​在魔术棒 / Targer 选项页中勾选use MicroLIB(下面代码的13~35行不用写)

关于STM32CubeIDE使用printf串口打印_第3张图片

 

你可能感兴趣的:(STM32专区,stm32,单片机,arm)