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.

[参考译文] RM44L920:CAN IF1/IF2寄存器复位

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1213697/rm44l920-can-if1-if2-register-reset

器件型号:RM44L920
主题中讨论的其他器件:HALCOGEN

我使用多个 CAN 消息框仅用于传输、并使用外部环回方法。 如何使用 IF1/IF2寄存器来操作数据。发送第一个 CAN 帧 IF1DATA A & IF2数据 B 不会自动重置为新值后、请提供帮助!

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

    Karthik、您好、

    如果您使用的是 HALCoGen 生成的 CAN 驱动程序、则无需关注接口寄存器(IF1/IF2)。 此处、驱动程序将使用 IF1寄存器 执行 CANTransmit、将使用 IF2寄存器执行 canGetData。

    i)首先必须在 HALCoGen 中完成消息框配置

    如上图所示、我将消息框1和2配置为传输所需 ID、同样、我将3和4配置为接收。

    ii)一旦配置了消息框,您只需要给 CANTransmit 功能提供消息框编号和数据缓冲。 如下所示。

    这个发送功能使用 IF1寄存器并根据消息框编号将数据复制到相应的发送消息目标。

    III)同样、在接收端必须向 canGetData 函数提供消息对象编号和 Rx 缓冲区起始地址。 该函数会将相应消息框新收到的消息复制到 IF2、然后从 IF2再次复制到我们传递的 Rx 缓冲区中。

    因此、您所需的数据将位于 Rx 缓冲区中。

    --

    谢谢。此致、
    Jagadish。