Hi,
-> I'm using FLEXCAN0 so instance = 0;
-> I've configured RXFIFO to receive FLEXCAN data.
flexcan_msgbuff_t RxBuff;
FLEXCAN_DRV_RxFifo(instance, &RxBuff); // called in flexcan0_Callback
-> To send data I'm using TX_MAILBOX = 15;
flexcan_data_info_t BuffCfg;
BuffCfg.data_length = 8;
BuffCfg.enable_brs = false,
BuffCfg.fd_enable = false,
BuffCfg.fd_padding = 0U;
BuffCfg.is_remote = false;
BuffCfg.msg_id_type = FLEXCAN_MSG_ID_EXT;
flexcan_msgbuff_t TxBuff;
TxBuff.dataLen = 8;
memset(&TxBuff.data[0], 0x10, 8);
TxBuff.msgId = 0x10000001;
// Sending in 10mS using RTOS Task
if(FLEXCAN_DRV_GetTransferStatus(instance, TX_MAILBOX) != STATUS_BUSY)
{
if((FLEXCAN_DRV_ConfigTxMb(instance, TX_MAILBOX, &BuffCfg, 0)) == STATUS_SUCCESS)
{
FLEXCAN_DRV_Send(CAN0, TX_MAILBOX, &BuffCfg, TxBuff.msgId, TxBuff.data);
}
}
-> Here I'm using TX_MAILBOX = 15 for sending data and I'm getting TransferStatus = STATUS_BUSY always.
And then FLEXCAN is not sending any frame.
I'm not able to understand this.