I test S32K3 CAN for polling.
The tool can get first piece of RX data, Tx data can be seen.
I find that " (Can_Write(CanHardwareObject_1, &Can_PduInfo)" not ok in second data.
Can_Write -> Can_Ipw_Write -> FlexCAN_Ip_GetTransferStatus -> state->mbs[mb_idx].state is busy,
if (FLEXCAN_MB_IDLE == state->mbs[mb_idx].state)
{
status = FLEXCAN_STATUS_SUCCESS;
}
Is there any way to change the state of "state->mbs[mb_idx].state"?
Hi,
the MB state is updated by the driver within FlexCAN_Ip_MainFunctionWrite called by Can_MainFunction_Write once message is successfully transmitted without error and so MB flag is set.
Thus Can_MainFunction_Write should be repeatedly called, which is done, but maybe u8TimeOut is too small. Try to increase it.
BR, Petr