Part Number: TMS320F28377D
Other Parts Discussed in Thread: C2000WARE
Hi experts,
My customer is first time to use CAN, and they follow the examples. But now when they use 19 or more mailboxes to transmit, the 19th and subsequent data cannot be read.(all 0).
The datas in the 19th and subsequent mailboxes may have the same ID, but the data lengths are different. Will this matter?
The customer has provided limited code as follows:
s18TXCANMessage.ui32MsgID = 0x1EE03830;
s19TXCANMessage.ui32MsgID = 0X1EE000AD;
s20TXCANMessage.ui32MsgID = 0x1EE03830;
s21TXCANMessage.ui32MsgID = 0x1EE03830;
s22TXCANMessage.ui32MsgID = 0x1EE03830;
s23TXCANMessage.ui32MsgID = 0x1EE03830;
//ignored some codes
CANMessageSet(CANA_BASE, TX_MSG_OBJ_ID18, &s18TXCANMessage, MSG_OBJ_TYPE_TX);
CANMessageSet(CANA_BASE, TX_MSG_OBJ_ID19, &s19TXCANMessage, MSG_OBJ_TYPE_TX);
CANMessageSet(CANA_BASE, TX_MSG_OBJ_ID20, &s20TXCANMessage, MSG_OBJ_TYPE_TX);
CANMessageSet(CANA_BASE, TX_MSG_OBJ_ID21, &s21TXCANMessage, MSG_OBJ_TYPE_TX);
CANMessageSet(CANA_BASE, TX_MSG_OBJ_ID22, &s22TXCANMessage, MSG_OBJ_TYPE_TX);
CANMessageSet(CANA_BASE, TX_MSG_OBJ_ID23, &s23TXCANMessage, MSG_OBJ_TYPE_TX);
//ignored some codes
CANInit(CANA_BASE); CANClkSourceSelect(CANA_BASE, 0);
CANBitRateSet(CANA_BASE, 150000000, 20000);//500k-20k
CANIntEnable(CANA_BASE, CAN_INT_MASTER | CAN_INT_ERROR | CAN_INT_STATUS);
CANGlobalIntEnable(CANA_BASE, CAN_GLB_INT_CANINT0);
CANEnable(CANA_BASE);
Int_ecan_ID();
Set_ecan_date();
CanaRegs.CAN_CTL.bit.ABO = 1;
CanaRegs.CAN_ABOTR = 0x10;
It seems they followed the example(can_loopback_cpu01). When they need to add some message objects or data length in a data frame, what configurations need attention?
Thanks and regards,
Jim