S32K3 CAN rx only has data only for the first transmission

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

S32K3 CAN rx only has data only for the first transmission

636 Views
jingfang
Contributor IV

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"?

 

0 Kudos
1 Reply

629 Views
PetrS
NXP TechSupport
NXP TechSupport

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

0 Kudos