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.

[参考译文] TMS320F28388D:MCAN

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1017409/tms320f28388d-mcan

器件型号:TMS320F28388D

您好!

根据 TMS320F2838x TRM 第45.5.14节的规定、TMS320F28388D 图45-13   

msgRAMConfigParams.txFIFOSize = 7U;// Tx FIFO/队列。

现在、如果 Put index =7、获取 index =2、则调用   

MCAN_writeMsgRam (MCAN0_BASE、MCAN_MEM_TYPE_FIFO、0U、&txMsg); 
//
//启用传输中断。
//
MCAN_txBufTransIntrEnable (MCAN0_BASE、FIFO 状态.putIdx、1U);

//
//添加传输请求。
//
MCAN_txBufAddReq (MCAN0_BASE、FIFO 状态.putIdx); 


之后,如果 Put 索引= 0,我想 Kown 吗? 也就是说、FIFO 是圆形 FIFO 吗?

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

    您好!

    是的、这是一个循环 FIFO、一旦 Get 索引到达 FIFO 的末尾、任何新的写入操作都将写入索引= 0。

    请注意、索引从0开始、而不是从1开始

    此致、
    Praveen

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

    您好!

    我不清楚:

    1)使用 TX FIFO 时、主机已收发消息、  TX Get 索引 是否加1? 如果是、为什么 我 看不到 SW 执行此操作?

    2)当使用 RX FIFO 时、主机已收到消息、RX PUT 索引加1吗?  如果是、为什么   我看不到 SW 执行此操作?

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

    您好!

    您能不能澄清一下"为什么我看不到 SW 这么做?"是什么意思? 您是否正在尝试了解软件为什么不递增索引?  不同的索引由硬件控制、对于软件为只读。

    此致、
    Praveen

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

    您好!

      是的。我是指当 TX 缓冲区发送消息或 Rx 缓冲区接收消息时、SW 为何不会交换 Get 索引或 Put 索引。

       不同的索引由硬件控制。    当 TX 缓冲区发送消息或 Rx 缓冲区接收消息时,如何读取 Get 索引或 Put 索引?

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

    雅美

    TX/RX 的 Get 索引和 Put 索引在各自的状态寄存器(MCAN_TXFQS、MCAN_RXFxS)中可用。 无论何时、SW 都可以读取这些值以了解当前索引。

    此致、
    Praveen