打印
[AVR单片机]

sprintf的问题

[复制链接]
3692|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chen3bing|  楼主 | 2011-10-19 20:49 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
我用avr studio编译代码,实例代码如下:
#include <avr/io.h>
#include <stdio.h>
#define uchar unsigned char
#define uint  unsigned int
/*----------------------------------
            主程序
-----------------------------------*/
int main(void)
{
  uchar j;
  char str[6]={0,0,0,0,0,0};
  double f=1.3245;
  uint  i=1234;
  sprintf(str,"%5.2f",f);
   
j=1;
i=2;
i=3;
DDRB=0XFF;
while(1);
}
我想得到的结果是" 1.32"    整数部分位数不足则补空格
可是结果却是"    ?",4个空格一个问号。
另外,我链接了libprintf_flt.a  libm.a  
传递了link option:-Wl,-u,vfprint
可还是无用。
请高手指教,如何解决?
谢谢!

相关帖子

沙发
chen3bing|  楼主 | 2011-10-19 22:22 | 只看该作者
解决了。

使用特权

评论回复
板凳
dong_abc| | 2011-10-20 14:25 | 只看该作者
怎么解决的也说一下啊

使用特权

评论回复
地板
chen3bing|  楼主 | 2011-10-20 16:05 | 只看该作者
link option还要传递-lprintf_flt和-lm。

使用特权

评论回复
5
jrh200310| | 2017-6-6 17:14 | 只看该作者
你好,是这样子设置吗

1.jpg (345.01 KB )

1.jpg

2.jpg (367.77 KB )

2.jpg

使用特权

评论回复
6
chen3bing|  楼主 | 2024-9-6 10:45 | 只看该作者
可能是吧。你可以试试,我都忘了

使用特权

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

本版积分规则

439

主题

2540

帖子

2

粉丝