2000477_en-US

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

2000477_en-US

2000477_en-US

S32K3 MCAL CANFD mask setting bug

Hi, All

The EDF bit the standard CANFD should be bit 14.but now it is 30. Is it a bug ? and it still exists in rtd5.0.0.

In the MCAL code, if you want to send a CANFD frame, you need to have the FDF byte of the CANFD message ID of the incoming parameter to be 1, that is, the Bit14 of the CANFD standard frame is 1. There is a Bug. According to the CANFD frame format CAN_43_FLEXCAN_FD_FRAME_U32 should mask bit 14. Now it is set to bit 30.

BRs,
xianlong

Re: S32K3 MCAL CANFD mask setting bug

Hi@wuxianlong

Please refer to this post.

https://community.nxp.com/t5/S32K/Use-S32K358-flexcan-to-sent-extended-ID/td-p/1993198https://nxp.li...


Re: S32K3 MCAL CANFD mask setting bugHi,
Sorry, I took a closer look. This is not a BUG, it is a software design. The CANFD_ID transmission parameter requires the user to fill in the maximum two bits of 32U.

/**
* @{
* @brief Can_IdType
* @details Represents the Identifier of an L-PDU. The two most significant bits specify theframe type:
* -00 CAN message with Standard CAN ID
* -01 CAN FD frame with Standard CAN ID
* -10 CAN message with Extended CAN ID
* -11 CAN FD frame with Extended CAN ID
* @implements Can_IdType_type
*/

/* Can_CreatePduInfo(id | CAN Can_IdType_type, swPduHandle,length, sdu) */
Can_PduInfo = Can_CreatePduInfo(0U | CAN_43_FLEXCAN_FD_FRAME_U32, 0U, 16U, Can_au8Sdu8bytes);
Re: S32K3 MCAL CANFD mask setting bugDataInfo.fd_enable = ((PduInfo->id & CAN_43_FLEXCAN_FD_FRAME_U32) != 0U) ? TRUE : FALSE;
Tags (1)
No ratings
Version history
Last update:
‎11-21-2025 02:47 PM
Updated by: