TI论坛
直播中

王雷

8年用户 228经验值
私信 关注
[问答]

有关sprintf的问题

使用的处理器:F28335
使用的开发环境:CCSv4.2.3
优化等级:0
问题描述:我在CCSv4中使用simulator时如下语句可以将响应变量格式化到sci_buf中,但当在处理器中运行时就不可以,根据几次实验,主要是浮点变量引起的。不知道这是问什么,怎么解决?
谢谢。(各种库头文件已添加)
float32 freq,mag,phase;
        char sci_buf[100];
        freq = 2200;
        mag = 768000.22;
        phase = 23.23;
        sprintf(sci_buf,"%%%% %-4d %c %-8.2f n",22,'k',mag);
        i = strlen(sci_buf);
        SCI_Puts(sci_buf,i);

回帖(8)

陈飞

2018-10-30 10:35:16
建议您把stack设大点再试试。不推荐您使用sprintf,因为要占用很大的系统资源和代码空间。
                                                                         Young Hu
举报

陈飞

2018-10-30 10:53:44
参考
www.deyisupport.com/.../12193.aspx
                                                                         Young Hu
举报

王雷

2018-10-30 11:08:14
引用: Arttronix 发表于 2018-10-30 17:58
参考
www.deyisupport.com/.../12193.aspx
                                                                         Young Hu

忘了说了 stack :0x400 heap:0x400 还需要再大些么 谢谢
举报

王雷

2018-10-30 11:15:02
之前 是直接使用 printf 输出到 console的 stack:0x400 heap:0x400 都没问题
现在设备离电脑远一些 使用串口输出到PC的 printf重定向后 不行 ,使用 sprintf也不行
举报

更多回帖

发帖
×
20
完善资料,
赚取积分