This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/CC2650:CC2650冲刺

Guru**** 2605765 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/625560/ccs-cc2650-cc2650-sprinft

部件号:CC2650

工具/软件:Code Composer Studio

您好,

我想使用sprintf将整数转换为ASCII字符串。 代码编译,我可以启动它,但当它到达此行时(例如:sprintf (str,"%d",30);),代码停止。 我该怎么办?

注:我在CCS上

提前感谢您的参与

热雷梅

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,
    您能解释更多发生的事情吗? 您是否说您运行该应用程序,它只是毫无理由地停止sprintf调用?

    另请注意,在尝试在嵌入式设备上使用C I/O时,有许多事项需要考虑。 有关详细信息,请参阅以下文章:
    dev.ti.com/.../

    谢谢
    KI
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    不确定这是否相关,但"%"和"d"字符之间似乎有一个空格字符。

    此外,请确保str是一个足够大的缓冲区,足以容纳生成的字符串和空终止字符。 对于32位整数,16个字符的缓冲区应该足够:char str[16];或者str需要是指向此类缓冲区的指针。 如果str指针设置不正确,sprintf()可能会将其结果放入某个位置,导致程序停止或遇到某种错误。

    一般而言,对于不需要访问微控制器硬件特定功能的代码,我喜欢制作一个包含有问题代码的最小测试程序,并在我的PC上编译和运行该程序。 在PC上调试代码,然后将工作代码传输到您的微控制器通常更容易,更快速。 如果它在您的PC上工作,则不能保证它在微控制器上工作,但至少您对您的代码更有信心。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Jeremy:
    我没有收到您的回复,我假设您能够解决您的问题。 如果不是,请在下面提供包含更新的帖子回复(或创建新主题)。

    谢谢!
    KI