请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:RM44L920 主题中讨论的其他器件:HALCOGEN
我使用多个 CAN 消息框仅用于传输、并使用外部环回方法。 如何使用 IF1/IF2寄存器来操作数据。发送第一个 CAN 帧 IF1DATA A & IF2数据 B 不会自动重置为新值后、请提供帮助!
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.
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。