打印
[其他ST产品]

关于串口重定向printf函数无法打印的问题-

[复制链接]
460|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

在使用串口打印时,我们经常会用到printf函数进行串口打印,因为printf是c语言标准库的函数,所以需要重定向c库函数printf到串口,重定向后可使用printf函数。

实现printf函数需要调用fputc这个c语言标准库函数进行重定向:

配置如下

实现scanf , getchar等函数需要调用fgetc这个c语言函数进行重定向:

配置如下:

由于要使用fputc和fgetc这两个函数,所以要进行#include <stdio.h>头文件引用。


以上配置完成后,若串口不能进行printf函数进行打印,则检查是否设置 Use MicroLIB, 具体步骤如下:

1.打开Options for Target

2.选择Target,进行Use MicroLIB,勾选

因为c语言标准库过大,在嵌入式系统中对其进行了简化,从而形成MicroLIB库,printf函数在c语言标准库中,在嵌入式中位于MicroLIB中,使用printf函数进行打印时,勾选Use MicroLIB即可。


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

655

主题

2736

帖子

0

粉丝