Keil C51 使用 sprintf 的疑惑
本帖最后由 yxylxj 于 2015-7-30 10:52 编辑char buff={0};
sprintf(buff,"%d\r\n",10);
串口打印出 buff不对
改为:
char buff={0};
int a =10;
sprintf(buff,"%d\r\n",a);结果正确
另外 哪里有 介绍 C51 Keil 中关于
char----------%c
unsigned char
int--------%d
unsignedint
unsigned long对应的通配符 自问自答吧 把下面代码替换一下:
sprintf(buff,"%d\r\n",10); --> sprintf(buff,"%d\r\n",(int)10); 我在stm32下用sprintf无法打印浮点型数据 justdomyself 发表于 2015-7-30 12:55
我在stm32下用sprintf无法打印浮点型数据
在stm32使用 sprint
float k = 0.0003f;
sprintf("\r\nFLOAT = %0.4f", (float)k); // 输出小数点后4位数据 c51下,答应char类型的,记得好像是用"%bd" 默认是int,所以字节时候要么打印格式选择b开始的,要么将变量强制转换成16位的,像3楼或者六楼那样 hpdell 发表于 2015-9-28 12:04
在stm32使用 sprint
float k = 0.0003f;
我的是时灵时不灵
本来一开始好好的,修改下代码后就貌似又不行了 改的地方完全一点关系都没有
有的时候再改下优化等级就行了
不行的时候现象是,任何浮点数据,转成字符串就变成了0.0,
(float),需要加这个强制转化么? justdomyself 发表于 2015-9-28 22:10
我的是时灵时不灵
本来一开始好好的,修改下代码后就貌似又不行了 改的地方完全一点关系都没有
貌似一般情况下,加上比较好一点吧 hpdell 发表于 2015-9-29 12:01
貌似一般情况下,加上比较好一点吧
不知道我说的情况你在stm32上有没有遇到过 justdomyself 发表于 2015-9-30 16:58
不知道我说的情况你在stm32上有没有遇到过
目前为止木有遇到过你说的情况哦
页:
[1]