打印
[ZLG-MCU]

关于sprintf的问题

[复制链接]
1965|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
linhai2009|  楼主 | 2010-3-30 13:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用的MCU是LM3S316,开发环境是IAR5.3,我在代码中用到了sprintf函数,目的是想把一个整数转换成一个字符串。
相关代码:
#include <stdio.h>

void main
{
    char temp[20];
    int a=10;
    sprintf(temp,"%d",a);
    while(1);
}

编译通过,仿真时在while(1);处设置断点,程序执行到sprintf(temp,"%d",a);便无法往下执行。
查看.map文件,居然“9 600 bytes of readonly  code memory”已经用掉,注释掉sprintf(temp,"%d",a);则是“2 600 bytes of readonly  code memory”。相当无解。

请问哪位同学遇到过这个问题,有没有办法解决。

相关帖子

沙发
xiaoxin1986| | 2010-3-30 13:19 | 只看该作者
建议自己写个函数实现

使用特权

评论回复
板凳
寂寞男孩| | 2010-3-30 13:27 | 只看该作者
因为缺少真正的输出函数,比如uartPuts( )

建议在sprintf()函数之后跟一个,当然前提是要保证uartPuts( )的正确性

使用特权

评论回复
地板
beny5566| | 2010-3-30 18:50 | 只看该作者
自己写吧。

使用特权

评论回复
5
swolf| | 2010-3-30 19:56 | 只看该作者
自己写个函数吧。
不是很难。

使用特权

评论回复
6
五谷道场| | 2010-4-1 15:18 | 只看该作者
不知楼主自己编出来了没有,共享一下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

191

主题

1930

帖子

2

粉丝