嵌入式中sprintf %f 失效问题解决

嵌入式中sprintf %f 失效问题解决


文章主要从问题描述、原因和解决方法展开描述如何解决此问题。

问题描述

使用sprintf读取整型的数据是可以的,但是读取浮点型数据,发现读出来是空的,所有sprintf %f失效;
嵌入式中sprintf %f 失效问题解决

原因

查看IAR的配置,发现library options的printf formatter的配置设置为tiny,是不支持float类型的;
嵌入式中sprintf %f 失效问题解决

解决方法

针对上述的原因,把printf formatter的配置调整为Full。从我的编译环境看,此调整会额外占用3.7K ROM空间。请注意CPU的空间是否够用。
嵌入式中sprintf %f 失效问题解决

调试结果

调试发现sprintf可以工作了,完美解决问题。
嵌入式中sprintf %f 失效问题解决

上一篇:分享两个在开发中需注意的小点


下一篇:php调用c语言获取ascp以及mas