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.

[参考译文] TMS320F28377S:CAN FIFO 配置

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/661387/tms320f28377s-can-fifo-configuration

器件型号:TMS320F28377S

您好!

我们是否有参考代码或 CAN FIFO?

我的理解是配置这两个设置:

1) CANaRegs.CAN_IF1MCTL.bit.EOB = 0;

2) 2)报文对象 EOB 的结构= 0;

是这样吗?

BR、Jordan

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

    '除了最后一个报文对象外、FIFO 缓冲区中所有报文对象的 EOB 位都必须编程为0。'

    或者、除了最后一个 FIFO RX 邮箱外、所有 FIFO RX 邮箱都应该具有 EOB=0、最后一个 FIFO RX 邮箱- EOB=1。

    我将使用3个 RX FIFO 以及3个不同的接受滤波器。 我无法保证它完全正确、但看起来工作正常。 以下是我的 Init 例程的摘录:

    #define FIFOR0 1 // FIFO 0从邮箱1开始
    在 MB 9上#define FIFOR1 9 // FIFO 1
    在 MB 11上#define FIFOR2 11 // FIFO 2

    //FIFO MB 初始化


    for (iMsg = FIFOR0;iMsg < FIFOR1;iMsg++)

    CANM.CAN_IF1ARB.bit.MsgVal = 1;//消息被使用
    CANM.CAN_IF1ARB.bit.XTD = 1;//扩展 ID
    CANM.CAN_IF1ARB.bit.Dir = 0;//接收 MB
    CANM.CAN_IF1ARB.bit.ID = ;

    #if CAN_FORWARDONLY
    CANM.CAN_IF1MSK.ALL = 0;//接受所有内容
    其他
    CANM.CAN_IF1MSK.bit.MXtd = 1;//屏蔽扩展位
    CANM.CAN_IF1MSK.bit.MDir = 0;//不接受发送消息
    CANM.CAN_IF1MSK.bit.MSK = ;
    #endif

    CANM.CAN_IF1MCTL.ALL =(1<<12/* umask*/)|(1<<10/* RxIE*/);//所有 MB,除了最后一个外,EOB=0
    if (iMsg ==(FIFOR1-1))
    CANM.CAN_IF1MCTL.bit.EOB = 1;// FIFO 结束


    CANM.CAN_IF1CMD.ALL =
    (
    0x80 * 1/* DIR_/
    | 0x40 * 1 /*掩码*/
    | 0x20 * 1 /* ARB*/
    | 0x10 * 1 /*控制*/
    | 0x08 * 1/* ClrIntPnd*/
    | 0x04 * 0 /* TXRQST*/
    | 0x02 * 0 /* DATA_A*/
    | 0x01 * 0 /* DATA_B*/
    )* 0x10000ul | iMsg;

    while (CANM.CAN_IF1CMD.bit.BUSY)


    CANM.CAN_IF1CMD.ALL = 0;


    for (iMsg = FIFOR1;iMsg < FIFOR2;iMsg++)

    CANM.CAN_IF1ARB.bit.MsgVal = 1;//消息被使用
    (笑声)


    此致、
    Edward
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    爱德华
    可以给我发送整个项目吗?
    BR、Jordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好

    不得不练习恼人的创建 新项目...

    Edward

    e2e.ti.com/.../trsh180206canfifo.zip