同一个发送类型的message obj,我需要更新它的数据域以及仲裁域(CAN ID)。我在官方提供的driverlib库中有发现CAN_sendMessage这个函数接口可以用来更新一个message obj的数据域,没有找到更新仲裁域的接口,请问怎么做?再去调用CAN_setupMessageObject吗?因为发送message时需要经常修改数据域和仲裁域,每次发送都调用CAN_setupMessageObject,感觉时间成本会高
Green Deng:
你好,我会与相关工程师确认后再回复你。
,
Green Deng:
这边工程师确认,唯一可更新CAN消息对象的功能是用于数据的CAN_sendMessage和用于初始化所有内容(包括ID和数据的控制位)的CAN_setupMessageObject。如果只需要更新CAN ID,可以尝试以下顺序:
-在CAN_IF1ARB中写入新的CAN ID(如果使用了接口寄存器组1)
-将0xB0写入CAN_IF1CMD [23:16]和要尝试以位[7:0]修改CAN ID的消息对象#