打印
[STM32]

好奇怪啊,sprintf 输出浮点数的小数点是其他字符。

[复制链接]
1120|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
6688hyc|  楼主 | 2021-4-12 16:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
       sprintf((char*)p,"%.1f",30.1);       打印(输出):30F1  而无法输出 30.1
       我实际调试过程中遇到过小数点输出为G , 为逗号的。

       同一个程序今天输出的小数点是逗号,而前几天输出的是G 。这个输出F的是网上看的。

       这是咋回事啊???栈溢出?? 堆空间不够??

       好奇怪啊。

       不要告诉我解决方法,已经解决了。但就是不知道为啥会出现这种情况。

       sprintf函数使用了单片机的什么?堆?栈?单片机用的ucosii 并没有死机。

       这个sprintf函数是标准C库的函数吧?(我没用microlib)标准C库的函数需要设置stack / heap 吗?

       烦请大牛赐教。


使用特权

评论回复

相关帖子

沙发
jackyhuang1988| | 2021-4-13 11:48 | 只看该作者
你是哪里看到它输出30G1,是断点,还是输出串口

使用特权

评论回复
板凳
6688hyc|  楼主 | 2021-4-14 18:06 | 只看该作者
jackyhuang1988 发表于 2021-4-13 11:48
你是哪里看到它输出30G1,是断点,还是输出串口

串口输出的

使用特权

评论回复
地板
jackyhuang1988| | 2021-4-25 17:16 | 只看该作者

那,会不会是你串口弄得不对,波特率临界

使用特权

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

本版积分规则

278

主题

1322

帖子

16

粉丝