OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 9602|回复: 9

stm32的printf函数时能用时不能用,不知道为啥

[复制链接]

11

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2022-7-29
在线时间
24 小时
发表于 2022-8-5 22:11:36 | 显示全部楼层 |阅读模式
3金钱
stm32的printf函数时能用时不能用,配置也没变过,不知道是什么情况

最佳答案

查看完整内容[请看2#楼]

没关系。打印跟踪一下,确定出来异常的代码部分
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

821

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3359
金钱
3359
注册时间
2011-11-10
在线时间
207 小时
发表于 2022-8-5 22:11:37 | 显示全部楼层
没关系。打印跟踪一下,确定出来异常的代码部分
回复

使用道具 举报

14

主题

821

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2070
金钱
2070
注册时间
2021-7-17
在线时间
647 小时
发表于 2022-8-6 09:37:39 | 显示全部楼层
能用说明配置是没有问题的,你看看是不是程序部分输出的问题有时无法输出
回复

使用道具 举报

11

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2022-7-29
在线时间
24 小时
 楼主| 发表于 2022-8-6 19:15:25 | 显示全部楼层
ChenRyan 发表于 2022-8-6 09:37
能用说明配置是没有问题的,你看看是不是程序部分输出的问题有时无法输出

对,就是时而能用,时而不能用,我在那个文件里删除了几个声明的变量后就能用了,又添上又不能用了,这玩意和声明变量数量有关系吗?
回复

使用道具 举报

31

主题

1953

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4462
金钱
4462
注册时间
2018-5-11
在线时间
932 小时
发表于 2022-8-7 09:43:09 | 显示全部楼层
这么问问题,
估计别人想帮也帮不了你。
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复

使用道具 举报

11

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2022-7-29
在线时间
24 小时
 楼主| 发表于 2022-8-7 22:22:17 | 显示全部楼层
warship 发表于 2022-8-7 09:43
这么问问题,
估计别人想帮也帮不了你。

当时太着急了,所以没描述好,不过具体情况确实是,一开始可以用,我又在那个文件里声明了几个变量后串口通信助手就不打印东西了,但是程序是运行着的
回复

使用道具 举报

4

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
190
金钱
190
注册时间
2020-1-15
在线时间
56 小时
发表于 2023-3-23 21:22:07 | 显示全部楼层
cxt666 发表于 2022-8-6 19:15
对,就是时而能用,时而不能用,我在那个文件里删除了几个声明的变量后就能用了,又添上又不能用了,这玩 ...

同样的问题
回复

使用道具 举报

4

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
190
金钱
190
注册时间
2020-1-15
在线时间
56 小时
发表于 2023-8-7 14:49:43 | 显示全部楼层
你好,我也遇到过同样的问题,经验是减少变量特别是int类型的变量,至于更深层次的原因我也不清楚
回复

使用道具 举报

0

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
150
金钱
150
注册时间
2023-5-17
在线时间
28 小时
发表于 2023-8-28 16:05:58 | 显示全部楼层
说的具体点呗,是不是字节对齐的问题?
回复

使用道具 举报

4

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
190
金钱
190
注册时间
2020-1-15
在线时间
56 小时
发表于 2023-9-6 14:33:46 | 显示全部楼层
本帖最后由 LEESUMI 于 2024-5-9 11:02 编辑

fflush(stdout); 这个问题我研究了很久,应该是printf的缓冲区满了,在每个printf语句后面加上fflush(stdout); 如:printf("Hello, World!"); // 这里不会立即输出,因为没有换行符  fflush(stdout);         // 刷新stdout缓冲区,确保上面的printf内容被输出,简单来说,会不是是程序里面调用printf语句太多了,有太多的东西要printf?

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-24 18:17

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表