Part Number:TMS320F28377D
参照官方例程,如果期望是2号邮箱接收数据,那么按照下面设置。
CANMessageSet(CANA_BASE, 2, &sRXCANMessageGp2, MSG_OBJ_TYPE_RX);
CANMessageSet(CANA_BASE, 1, &sTXCANMessageGp2ID1, MSG_OBJ_TYPE_TX);
同理,期望三号,四号邮箱接收苏剧,设置为
// 三号邮箱接收数据
CANMessageSet(CANA_BASE, 3, &sRXCANMessageGp3, MSG_OBJ_TYPE_RX);
CANMessageSet(CANA_BASE, 2, &sTXCANMessageGp3ID1, MSG_OBJ_TYPE_TX);
// 四号邮箱接收数据
CANMessageSet(CANA_BASE, 4, &sRXCANMessageGp4, MSG_OBJ_TYPE_RX);
CANMessageSet(CANA_BASE, 3, &sTXCANMessageGp4ID4, MSG_OBJ_TYPE_TX);
现在采用的是loopbak模式测试,发现按照上述设置可以达到期望结果,一旦不匹配就无法收到数据。
当前个人理解为配置MSG_OBJ_TYPE_RX的ui32ObjID可以明确把数据发送到哪个邮箱,配置MSG_OBJ_TYPE_TX的ui32ObjID可以指定从哪个邮箱读取数据。
疑问在于,为何配置MSG_OBJ_TYPE_RX的ui32ObjID,要比MSG_OBJ_TYPE_TX的ui32ObjID要少1?或者说是否应用存在问题?应该怎样配置?
Green Deng:
你好,请问你是用的TI例程吗?具体是基于哪个例程修改的?MSG_OBJ_TYPE_RX是配置收发模式的,那么问题中的ui32ObjID是指什么?