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.

[参考译文] TMS320F28379D:在空工程示例中使用与的 SCI 通信、但接收到的数据与发送方不匹配。

Guru**** 2875980 points

Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1625042/tms320f28379d-in-empty-project-example-use-sci-communication-with-but-received-data-does-not-match-with-sender

部件号: TMS320F28379D
主题: C2000WARE 中讨论的其他器件

在我的 LaunchPad F28379D 系列中、带有 C2000 示例的 CSS 上的 driverlib 空 CPU1 示例 theia IDE。

在这里、我们添加了 SCI 模块和中断 FIFO、用于在中断时接收数据、但接收到的数据与发送器不匹配、因此问题是什么、可能是什么原因不起作用。

请告诉我以了解详情。

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

    尊敬的 Rutvik:

    您是否尝试过在 C2000ware 中运行某个 SCI 示例工程? 这些示例可在[C2000ware install]/driverlib/f2837xd/examples/cpu1/sci/.中找到 我建议尝试回显示例、以验证您是否可以与 COM 终端正确通信。  

    此外、如果您使用的是 F2837xD Launchpad、您能否确保添加  LAUNCHXL_F28379D 项目属性中作为预定义符号吗? 如果您添加这些并重新编译工程、这可确保为 LaunchPad 正确配置时钟。  

    此致、

    Delaney

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

    我将通过 SCI 发送数据、并在接收器端使用中断
    中断即将到来、数据错误(垃圾类型)。 问题应该是什么?

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

    尊敬的 Rutvik:

    以下几点:

    您能否对进入 SCI RX 引脚的信号进行示波并验证数据是否符合预期?

    在 CCS 中、如果您在启用了“Continuous Refresh“的情况下检查 SCIRXST 寄存器、那么在接收到数据时、是否有任何错误标志变为高电平?

    此致、

    Delaney

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

    我在示波器(逻辑分析仪)中捕获了该信号、它显示了预期结果、

    __ interrupt void scibRxISR (void)
      char rxData、rxstatus;
      rxstatus = ScibRegs.SCIRXST.all
      if (ScibRegs.SCIRXST.bit.RXRDY = 1)
      {
        rxData = ScibRegs.SCIRXBUF.bit.sar //读取接收的字节
      }

    如上面的部分代码片段所示、在 RX 中断时读取 SCIRXST 寄存器、它的值为 0x42、这是我认为的预期值。

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

    尊敬的 Rutvik:

    对延迟深表歉意。 是的、如果 rxstatus 为 0x42、这应该意味着没有问题。  您能否给出一个正在传输(预期)的数据与在 rxData 中接收到的数据的示例? 全是零、垃圾数据、还是有模式? 此外、我建议从发送器件一次发送一个数据、并逐步执行代码以单独接收每个字符。

    此致、

    Delaney