How to use Flexcan RxFifo

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

How to use Flexcan RxFifo

Jump to solution
1,076 Views
yarannan
Contributor III

Hi,

So i know KSDK1.2 support RxFifo. Thats the main reason i upgrade to KSDK1.2.

 

1. How do i use RxFifo related functions? I read API document and some topics in the

community. They dont seem helped my situation.

2. I am using KSDK1.2 + PEx at KDS3.0 and hardware I am using MK20DX256VLL10

3. There are no examples of how to use flexcan_status_t FLEXCAN_DRV_RxFifo().

 

Here comes the questions:

1. If possible, please somebody share me a simple code with RxFifo with KSDK1.2

2.  What different with Message buffer vs Mailboxes and RxFifo? They are confusing me

3. If my end only want to receive one node id message and i dont want to lose any message,

does that mean I need to use RxFifo over message buffer?

 

Thanks,

 

Yaran

Labels (1)
Tags (3)
0 Kudos
1 Solution
565 Views
Kan_Li
NXP TechSupport
NXP TechSupport

Hi Yaran,

I am checking with the KSDK team for the demo you are querying , and will let you know when I have any feedback. for the second question, actually in my understanding, the mailboxes and RxFIFO are built based on MB(message buffers), you may use message buffers as entries of the RXFIFO, or assign some message buffer as mailbox, receiving for a dedicated ID or several IDs filtered by RXMGMASK,RX14MASK,RX15MASK and RXFGMASK registers. but for your case, if you just want to receive messages from only one node, there is no possibility to lose any message, either mailbox or RXFIFO, The data frame has a flag sequence consisting of 7 "recessive" bits as end of frame followed by a interframe space, so there should enough time to receive the frame if you put RX interrupt as the highest priority, but if you have to assign lower priority to flexcan interrupt, you may use RXFIFO function.

Hope that helps,


Have a great day,
Kan

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

View solution in original post

0 Kudos
1 Reply
566 Views
Kan_Li
NXP TechSupport
NXP TechSupport

Hi Yaran,

I am checking with the KSDK team for the demo you are querying , and will let you know when I have any feedback. for the second question, actually in my understanding, the mailboxes and RxFIFO are built based on MB(message buffers), you may use message buffers as entries of the RXFIFO, or assign some message buffer as mailbox, receiving for a dedicated ID or several IDs filtered by RXMGMASK,RX14MASK,RX15MASK and RXFGMASK registers. but for your case, if you just want to receive messages from only one node, there is no possibility to lose any message, either mailbox or RXFIFO, The data frame has a flag sequence consisting of 7 "recessive" bits as end of frame followed by a interframe space, so there should enough time to receive the frame if you put RX interrupt as the highest priority, but if you have to assign lower priority to flexcan interrupt, you may use RXFIFO function.

Hope that helps,


Have a great day,
Kan

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

0 Kudos