OpenEdv-开源电子网

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

printf在while1里正常,在子函数里调用有问题

[复制链接]

5

主题

16

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2020-4-27
在线时间
7 小时
发表于 2020-5-14 16:09:25 | 显示全部楼层 |阅读模式
10金钱
     下面这段代码如果放在while1 里直接跑是可以的。很正常                 
                        if(uart_100ms_flag)
                        {
                                uart_100ms_flag=0;
                                Bat_vol_uart=12345;
                                 printf("\r\n电压数据(mv)");
                                 printf("%dmv",11111);
                                 printf("%dmv",Bat_vol_uart);
                                 printf("\r\n%d",5);                         
                        }
如果放到子函数里调用,while1下面的子函数。会导致乱码。如果把最后一句printf("\r\n%d",5);        屏蔽。可以正常工作。
求大佬解答下。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

58

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2015-12-27
在线时间
0 小时
发表于 2020-5-14 16:09:27 | 显示全部楼层
帮顶,大家来帮忙解答一下。。
回复

使用道具 举报

5

主题

16

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2020-4-27
在线时间
7 小时
 楼主| 发表于 2020-5-14 16:10:33 | 显示全部楼层

RE: printf在while1里正常,在子函数里调用有问题

单片机是stm32f030
回复

使用道具 举报

12

主题

3391

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8654
金钱
8654
注册时间
2020-5-11
在线时间
4115 小时
发表于 2020-5-14 17:28:54 | 显示全部楼层
虽然我很少用STM32单片机,但是听说printf函数需要较大的堆栈,看是不是在启动文件里设置一下。
还有,数据是通过串口发出的?看是否有其它地方占用了串口。
回复

使用道具 举报

5

主题

16

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2020-4-27
在线时间
7 小时
 楼主| 发表于 2020-5-15 08:40:20 | 显示全部楼层
LcwSwust 发表于 2020-5-14 17:28
虽然我很少用STM32单片机,但是听说printf函数需要较大的堆栈,看是不是在启动文件里设置一下。
还有,数 ...

其他地方没有用串口,都屏蔽掉了,堆栈方面我也正在查,十分感谢
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-1 02:18

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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