Tool/software: Code Composer Studio
Hi,
I use CAN to send messages continuously,but it not ture.
This is my code:
uint8_t s_TxMsgNum = 1;
static u8 mcal_CanSendByte(u32 uMsgId,CAN_IdType pIdType,u32 uDataLen,u8 pData[8]))
{
if(s_TxMsgNum > 63)
{
s_TxMsgNum = 1;
}
pTxMsgObjectParams.xIdFlagMask = 0x1;
pTxMsgObjectParams.msgIdentifierMask = 0x1FFFFFFF;
pTxMsgObjectParams.dirMask = 0x1;
pTxMsgObjectParams.msgValid = 1;
pTxMsgObjectParams.direction = CAN_Direction_TX;
pTxMsgObjectParams.uMaskUsed = 1;
pTxMsgObjectParams.intEnable = 1;/
pTxMsgObjectParams.remoteEnable = 0;
pTxMsgObjectParams.fifoEOBFlag = 1;
pTxMsgObjectParams.appCallBack = macl_CanCallback;
pTxMsgObjectParams.msgIdentifier = uMsgId;
pTxMsgObjectParams.xIdFlag = CAN_DCANXidType_11_BIT;
pTxMsgObjHandle = CAN_createMsgObject (s_pCanHandle, s_TxMsgNum, &pTxMsgObjectParams,&s_pErrCode);
s_TxMsgNum++;
}
I created 50 messages object(ID=0,1,2,3,....,49),and sequential transmission, but it couldn't.It can only send messages with three different ids.
What it wrong?
The CAN param is below:
pCanCfgParams->parityEnable = 0;
pCanCfgParams->intrLine0Enable = 1;
pCanCfgParams->intrLine1Enable = 1;
pCanCfgParams->testModeEnable = 0;
pCanCfgParams->eccModeEnable = 0;
pCanCfgParams->stsChangeIntrEnable = 0;
pCanCfgParams->autoRetransmitDisable = 1;
pCanCfgParams->autoBusOnEnable = 1;
pCanCfgParams->errIntrEnable = 0;
pCanCfgParams->autoBusOnTimerVal = 0;
pCanCfgParams->if1DmaEnable = 0;
pCanCfgParams->if2DmaEnable = 0;
pCanCfgParams->if3DmaEnable = 0;
pCanCfgParams->ramAccessEnable = 0;
pCanCfgParams->sbeEventEnable = 0;
Can you give me some advices?