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.

[参考译文] LAUNCHXL-F280049C:通过 SCI 发送整数值

Guru**** 2524550 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/800182/launchxl-f280049c-sending-integer-values-through-sci

器件型号:LAUNCHXL-F280049C
主题中讨论的其他器件:C2000WARE

我正在尝试从 SCI 重复发送一条消息、其中的整数值正在递增计数。 消息应如下所示:  

"数字为0

数字为1

数字为2..."



到目前为止、我拥有的是: 
int n = 0;
unsigned char *msg;
msg ="\r\n 数字为";
for (;;)
{
SCI_writeCharArray (SCIA_BASE、(uint16_t*) msg、15);
???????
N++;
} 

我标记的行应该使用哪个函数???? 以发送 n 的值? SCI 的所有库函数都用于发送字符。 我尝试包括"stdlib.h"并使用 itoa()函数,但由于某种原因返回错误,它不起作用:  

未解析的符号_itoa、首先在./main.obj 中引用  

#include "stdlib.h"...

void main (void){ 
(笑声) //初始化 SCI int n = 0; unsigned char * val; unsigned char * msg; while (1) { msg ="\r\n 否:"; SCI_writeCharArray (SCIA_BASE、(uint16_t*) msg、4); itoa (n、 Val、10); SCI_writeCharArray (SCIA_BASE、(uint16_t*) val、sizeof (val); N++; }

我还尝试使用 sprintf 创建一个新字符串、但它也不起作用。 是否有一种简单的方法将整数包含到 SCI 发送的消息中?





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

    请参阅我们的 F28004x SCI 示例代码、该代码位于:

    C:\ti\c2000\C2000Ware_ \driverlib\f28004x\examples\sci

    但愿这对您有所帮助。 如果您的问题得到了解答、请单击绿色的"验证答案"按钮。 谢谢

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

    我已经检查了所有三个 sci 示例、但它们还是用于接收和发送字符。 例如:

    来自 SCI 中断回送示例的//代码。
    
    uint16_t receivedChar;
    receivedChar = SCI_readCharBlockingNonFIFO (SCIA_BASE);
    
    //
    //回显字符。
    //
    msg ="您发送:\0";
    SCI_writeCharArray (SCIA_BASE、(uint16_t*) msg、13);
    SCI_writeCharBlockingNonFIFO (SCIA_BASE、 收到的请求); 

    根据我的理解,通过使用此代码,我只能发送/接收一个字符,这意味着如果我要发送具有多个数字的数字,我必须检查该数字有多少位数字,并为每个数字调用 SCI_writeCharBlockingNonFIFO()。 我正在寻找一种比它更简单的方法、因为我要打印的数字可以有几个数字。

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

    是的、您回答正确。 SCI 一次发送/接收一个字符。 要发送/接收多个字符、可以使用 FIFO。 您需要通过配置 FIFO 寄存器来管理字符数。

    但愿这对您有所帮助。 如果您的问题得到了解答、请单击绿色的"验证答案"按钮。 谢谢

    - Ken