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.

[参考译文] TMS320F28069:不带 FIFO 的 SCI TX Rx

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

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/678193/tms320f28069-sci-tx-rx-without-fifo

器件型号:TMS320F28069
主题中讨论的其他器件:C2000WARE

我想将数据发送到 scitxbuf 中。 您是否有示例代码

DP 我需要使用任何 Txrdy 或 Txempty 位?

如果我想在没有 FIFO 的情况下从 txrdy 创建中断、您是否有示例代码?

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

    您好 Ken,

    请查看 c2000ware 中的示例

    我们有一个示例,说明如何使用中断进行传输,而不是内部回送,而是使用 FIFO。

    检查示例 device_support\f2806x\examples\c28\scia_loopback_interrupts。

    需要对其进行修改以不使用内部回送、并删除与 Rx 相关的配置。

    为什么需要一个没有 FIFO 的示例?

    如果它在您 TX 之前没有填充太多数据,则相应地设置 TX FIFO 级别。

    此致。

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

    您好 Ken、

    您要发送多少数据? 发送更多数据时是否会生成?

    您要发送哪些数据?

    当您说中断是它不会进入 ISR 吗? 是否设置了中断状态标志?

    该示例要求以2个字节的一组发送数据。

    此致。

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

    我现在没有所有详细信息。 我认为我没有在 ISR 上看到中断。

    在没有 FIFO 的情况下使用时、我有中断。 但是、我不确定每个中断上有多少数据。

    我可以检查它们。 如果您可以使用 FIFO 或不使用 FIFO 进行设置以创建 Rx int 和 TX int、这将很有帮助。

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

    您好 Ken,

    您发送的数据、在该数据之后您将获得中断、或者您填入 ISR 或您的 SciaRegs.SCIFFTX 配置。所有这些数据都应告诉您 发送了多少数据、之后您将获得中断。

    没有这样的示例、但可以为您提供一些要查看的指针。

    若要仅在没有 Rx 的情况下将数据发送到 scitxbuf 中、请使用以下示例使用具有 FIFO 的中断  

    检查示例 device_support\f2806x\examples\c28\scia_loopback_interrupts。

    除了:

    -没有启用环回的语句(SciaRegs.SCICCR.bit.LOOPBKENA=1;  //启用环回)

    -将 SciaRegs.SCICTL1.all =0x0003;更改为 SciaRegs.SCICTL1.all =0x0002;//仅用于 TX  

    -将 SciaRegs.SCICTL2.bit.RXBKINTENA=1;更改为 SciaRegs.SCICTL2.bit.RXBKINTENA=0;//无 Rx。

    -删除  scia_fifo_init()中与 SCIFFRx 相关的配置。

    使用同样的例子来说明如何使用无 FIFO 的中断  

    除了:  

    -删除 上述所有有关“有 FIFO”案例的内容

    -  更新 SciaRegs.SCIFFTX.All=0xC022;更新为  SciaRegs.SCIFFTX.All=0x8020;// TX 电平本身为空时中断(就像没有 FIFO 一样)。

    请告诉我这是如何影响的。

     

    此致。

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

    您好!

    谢谢。 我稍后会尝试。

    将会通知您