关于#stm32#的问题,请各位专家解答!

STM32L4R5ZIT6
这几个都做到了为什么在串口上还是printf打印不出来?

img

img

img

img

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 建议你看下这篇博客👉 :利用STM32F4串口重定向Printf()
  • 除此之外, 这篇博客: stm32串口自定义协议接收一串十六进制数据(将其中两个字节转化为十进制数据)+部分串口基础知识中的 5、函数5-使用printf函数进行打印数据 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    有时候想直接用printf函数直接发送,肯定是不可以的
    printf函数底层会有一个fputc,如果想要使用,需要重新定义

    int fputc(int ch FILE *f)
    {
    	//发送一个字节数据到串口
    	USART_SendData(USART1,(uint8_t)ch);
    	//等待发送完毕
    	while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET);
    	//检测发送数据寄存器是否为空USART_FLAG_TXE
    
    	return (ch);
    }
    

    在主函数中编写代码

    printf("串口测试实验\n");
    //发送一个字符也可以直接使用putchar('a')
    
    putchar('a');//串口助手会接收到字母a
    

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^