微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > 关于zstack中sprintf函数异常

关于zstack中sprintf函数异常

时间:10-02 整理:3721RD 点击:

IAR 8.30,使用zstack home 1.2.1,协议栈不做任何修改,只增加如下两个sprintf语句(位置任意,只要能执行到就行),发现参数为%d的sprintf执行正常,而参数为%u的sprintf执行错误。

char str_test[10];

unsigned int int_test = 123;

sprintf( str_test, "%d,", int_test );  //执行正常,输出字符串“123”

sprintf( str_test, "%u,", int_test );  //执行错误,输出字符串“u”

 

脱离zstack,用IAR建立一个简单工程,发现都能正常执行。

 

为什么会出现这种情况,我担心的是,是否有其他函数也存在这种情况。

 

自己顶一下,求解答。

对比下IAR的配置是否一样 

我是在zstack home 1.2.1的..\HomeAutomation\SampleThermostat上进行的测试,zstack是刚安装,程序、IAR8.30配置都没有作任何修改。你也可以试一下。

用我同时的电脑+IAR试了一下,也是一样的问题。能否确认一下。

没人答,是逼我用改用 itoa() 函数吗

顶一下,我也遇到类似的问题。

不过我的情况是:

同样的工程,用 iar 8.1的sprintf 打印 %d %x %u都正常

但是后来电脑换了win10,装了iar 9.2,期间参考vv的方法改了http://www.deyisupport.com/question_answer/wireless_connectivity/zigbee/f/104/t/59042.aspx

工程能正常编译,但是sprintf 打印异常,%d正常,其他打印出来的,对应结果是%x  --->   x 、%u  ---> u 等等,找不到什么原因,求解,感谢。

有谁知道什么原因吗?

IAR工程中的library options设置

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top