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:UART_WRITE

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/922812/ccs-uart_write

工具/软件:Code Composer Studio

大家好、我正在使用 Tiva TM1294XL 板进行调试、我正在进行 UART 板上的连续写入工作。 我想向 UART 写入一些计算出的数字、因此我使用 的是 UART_WRITE 函数、该函数是使用一些 RTOS 示例中的内置函数。 我无法将整数值转换为字符串、以便在 UART 上进行传输。  我尝试过一些整数到字符数组函数、但它一次只发送一个数字、这与正常字符串不同。是否有任何诸如 itoa 的内置函数或建议我使用某些函数? 谢谢你。   

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

    您好!

    我们的 RTS 不执行 itoa()。 您是否尝试改用 sprintf()? 网络上的各种参考文献都有相关示例。  

    https://www.geeksforgeeks.org/what-is-the-best-way-in-c-to-convert-a-number-to-a-string/

    此致、

    拉斐尔

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

    我认为您需要向我们展示您的代码。

    我怀疑您将字符的大小而不是缓冲区的大小作为 UART_Write()的第三个参数发送

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

    extern int UART_write (UART_Handle handle、const void * buffer、size_t size);   //在头文件中

     UART_WRITE (UART、*至阵列(计数器)、5);  //需要在此处进行转换

    char * toArray (int number)
    {
    int n = log (number);
    int i;

    char * numberArray = calloc (n、sizeof (char));

    对于(i = 1;i < n;++I、number /= 10)
    {
    numberArray[i]=数字% 10;
    }

    返回数字数数数组;
    }

    我收到此错误-"char"类型的#169-D 参数与"const void *"类型的参数不兼容

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

    在任何情况下、这都是内存泄漏。

    您不会返回字符、您将返回单个数字。 查看 num +'\0'诀窍。

    UART_write()需要 void *,您需要转换。

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

    K&R 以简单的 itoa()为例。