打印
[技术问答]

为什么例程序里的printf在调试时显示不出来?

[复制链接]
1134|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
classroom|  楼主 | 2023-5-23 09:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
要去掉retarget.c就可以在UART#里显示

使用特权

评论回复
沙发
laocuo1142| | 2023-5-24 09:00 | 只看该作者
看看Options for Target里c/c++卡里是不是定义了DEBUG_ENABLE_SEMIHOST=1

使用特权

评论回复
板凳
sdlls| | 2023-6-6 13:46 | 只看该作者
函数因为牵扯到使用串口              

使用特权

评论回复
地板
robincotton| | 2023-6-6 14:25 | 只看该作者
在使用printf()进行调试时,需要仔细检查串口设置、接线情况和程序代码

使用特权

评论回复
5
wwppd| | 2023-6-6 14:42 | 只看该作者
printf()函数被正确地调用了?

使用特权

评论回复
6
jackcat| | 2023-6-6 15:18 | 只看该作者
如果使用串口进行printf()输出, 单片机和PC端的串口连接正确。

使用特权

评论回复
7
uytyu| | 2023-6-6 17:31 | 只看该作者
printf 函数在单片机中要重定向到串口,printf 调用标准库函数 ,你需要重写fputc() 这个c标准库函数

使用特权

评论回复
8
tabmone| | 2023-6-6 17:40 | 只看该作者
如果使用串口进行printf()输出,需要确保单片机和PC端的串口参数设置一致

使用特权

评论回复
9
i1mcu| | 2023-6-6 18:02 | 只看该作者
必须重定义标准库函数里调用的与输出设备相关的函数

使用特权

评论回复
10
sesefadou| | 2023-6-6 18:11 | 只看该作者
如果后面并没有输出的值或者内容,显示出来就是空白的

使用特权

评论回复
11
Bowclad| | 2023-6-8 17:18 | 只看该作者
要重定义putchar函数以后才能用吧

使用特权

评论回复
12
uptown| | 2023-6-10 09:34 | 只看该作者
需要同时重定义fputc函数和避免使用semihosting(半主机模式)

使用特权

评论回复
13
dspmana| | 2023-6-10 09:40 | 只看该作者
如果设置不正确,会导致数据传输失败, 无法显示printf()输出结果。

使用特权

评论回复
14
bestwell| | 2023-6-10 09:54 | 只看该作者
用串口调试助手 似乎还要重写putchar函数吧?

使用特权

评论回复
15
jtracy3| | 2023-6-10 10:00 | 只看该作者
这个原因较多,很难说,比如软件方面数据类型定义是否统一,函数调用方式是否正确,代码编写是否合理

使用特权

评论回复
16
youtome| | 2023-6-10 10:21 | 只看该作者
好像还要在keil的设置里面勾选一个选项

使用特权

评论回复
17
Jacquetry| | 2023-6-11 23:23 | 只看该作者
是不是串口没有配置好啊

使用特权

评论回复
18
LLGTR| | 2023-6-12 16:30 | 只看该作者
应该是被重定义了吧。

使用特权

评论回复
19
mintspring| | 2023-7-5 22:47 | 只看该作者
工程配置里启用MicorLib

使用特权

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

本版积分规则

435

主题

2178

帖子

1

粉丝