你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

IAR中sprintf格式化输入浮点数的问题

[复制链接]
ataudio 发布时间:2015-1-29 14:59
iar无法sprintf正确输入浮点数,但整数正常,' S, c8 k4 n' z- R4 q7 Y) ]
float tmp = 231.105;  x$ H: n" ]. C
sprintf(str1,"%6.2f",tmp);  
% x+ j3 a8 H( M8 Q% W' Y: R" o对于浮点数,无法正确写入到str1,而如果是整数则没问题。7 s. f& N+ f9 o* y

. [9 x5 u/ m9 ]" K  b  k7 o: u
, k$ X8 X6 P' }问题的原因~~~~sprintf的库函数没有声明按字节对齐。一般按照4字节的int对齐,所以整数正常。。。' y1 K, \/ ^+ ~, g: |
. M$ v* [) J# R9 F
解决办法就是声明字节对齐,或者自己写sprintf同功能的函数了。
3 F+ \: K3 o- M
7 E$ s! z4 a4 L) Y/ Z9 u, L6 o
5 O5 y0 i3 m% q1 a& h- s4 C$ s  I/ C5 y3 @. l

  U. a4 m0 Y5 I9 [( B$ |$ G1 b3 b2 T, I: S3 I

/ D9 W4 t! n% C  T& e* a6 L: |- g7 @

二十四节气~大雪

二十四节气~大雪
赞 收藏 评论9 发布时间:2015-1-29 14:59

举报

9个回答
cxtarm 回答时间:2015-1-29 17:14:08
貌似IAR有设置项
qianfan 回答时间:2015-1-29 20:05:03
自己写一个算了,省的麻烦。虽然我没有能力写,但是我会从Arduino中抄一个的
ataudio 回答时间:2015-1-29 22:13:16
QianFan 发表于 2015-1-29 20:05
1 H! a! Z4 f6 X' V! W5 A1 J: f自己写一个算了,省的麻烦。虽然我没有能力写,但是我会从Arduino中抄一个的 ...
  J5 B0 R% |1 ^3 M' S% M
变参数的sprintf函数写起来还是有点麻烦的。从linux中移植也有点问题。不过有其它方法实现。
& X: V8 v; U0 a5 S: h7 ~# ^, D1 t. s" Z9 K) }
————你这是不遗余力的推广Arduino啊!!
埃斯提爱慕 回答时间:2015-1-30 11:54:51
提示: 作者被禁止或删除 内容自动屏蔽
wamcncn 回答时间:2015-1-30 13:29:04
没遇见楼主的问题
星辰一方 回答时间:2015-1-31 10:20:25
不错,很有用的小技巧,改天试下!
wyxy163@126.com 回答时间:2015-1-31 12:57:34
提示: 作者被禁止或删除 内容自动屏蔽
拼命三郎 回答时间:2015-1-31 13:42:17
stm32.jpg
759611 回答时间:2015-2-1 11:58:21
顶一下…
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版