FlexCAN MK60DN512

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

FlexCAN MK60DN512

Jump to solution
904 Views
profprogrammer
Contributor III

I used KSDK and FlexCAN.  (MK60DN512)

How work individual mask for mailBox.?

If I apply the fifo, personal masks work at mainlbox?

Individual mask can be set up as filters?

Labels (1)
0 Kudos
Reply
1 Solution
619 Views
Hui_Ma
NXP TechSupport
NXP TechSupport

Hi,

The below FlexCAN driver API function using to set Receive message buffer ID mask type:

FLEXCAN_DRV_SetRxMaskType(flexcanInstance, kFlexCanRxMaskGlobal);

The FlexCAN MB mask has two types as below definition:

/*! @brief FlexCAN receive mask type.*/

typedef enum _flexcan_rx_mask_type {

    kFlexCanRxMaskGlobal,      /*!< Receive global mask*/

    kFlexCanRxMaskIndividual   /*!< Receive individual mask*/

} flexcan_rx_mask_type_t;

If customer want to use Receive individual mask, please use below code:

FLEXCAN_DRV_SetRxMaskType(flexcanInstance, kFlexCanRxMaskIndividual);

When using the FIFO, it will check FlexCAN control 2 register (CANx_CTRL2) register [MRP] bit ,

which is set the matching process starts from the Mailboxes and if no match occurs the matching

continues on the Rx FIFO.

Wish it helps.


Have a great day,
Ma Hui

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

View solution in original post

0 Kudos
Reply
1 Reply
620 Views
Hui_Ma
NXP TechSupport
NXP TechSupport

Hi,

The below FlexCAN driver API function using to set Receive message buffer ID mask type:

FLEXCAN_DRV_SetRxMaskType(flexcanInstance, kFlexCanRxMaskGlobal);

The FlexCAN MB mask has two types as below definition:

/*! @brief FlexCAN receive mask type.*/

typedef enum _flexcan_rx_mask_type {

    kFlexCanRxMaskGlobal,      /*!< Receive global mask*/

    kFlexCanRxMaskIndividual   /*!< Receive individual mask*/

} flexcan_rx_mask_type_t;

If customer want to use Receive individual mask, please use below code:

FLEXCAN_DRV_SetRxMaskType(flexcanInstance, kFlexCanRxMaskIndividual);

When using the FIFO, it will check FlexCAN control 2 register (CANx_CTRL2) register [MRP] bit ,

which is set the matching process starts from the Mailboxes and if no match occurs the matching

continues on the Rx FIFO.

Wish it helps.


Have a great day,
Ma Hui

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
Reply