Hi Jean
The FlexCAN has 16 buffers that can be configured as either receive or transmit buffer. There are three filters for the reception (buffers 14 and 15 have their own filters and all others share a third filter). To receive all IDs simply ensure that the filter masks are set to 0.
In the uTasker project the FlexCAN setup allows each receiver ID to be configured and the number for buffers for rx and tx to be set as follows (for example, 2 tx buffers and 3 rx buffers at each interface with unique ID matching):
static QUEUE_HANDLE CAN_interface_ID0 = NO_ID_ALLOCATED;
static QUEUE_HANDLE CAN_interface_ID1 = NO_ID_ALLOCATED;
CANTABLE tCANParameters;
tCANParameters.Task_to_wake = OWN_TASK;
tCANParameters.Channel = 0;
tCANParameters.ulSpeed = 1000000;
tCANParameters.ulTxID = (CAN_EXTENDED_ID | 0x00000105);
tCANParameters.ulRxID = 0x102;
tCANParameters.ulRxIDMask = CAN_STANDARD_MASK;
tCANParameters.usMode = 0;
tCANParameters.ucTxBuffers = 2;
tCANParameters.ucRxBuffers = 3;
CAN_interface_ID0 = fnOpen(TYPE_CAN, FOR_I_O, &tCANParameters);
tCANParameters.Channel = 1;
tCANParameters.ulTxID = 0x102;
tCANParameters.ulRxID = (CAN_EXTENDED_ID | 0x00000105);
tCANParameters.ulRxIDMask = CAN_EXTENDED_MASK;
CAN_interface_ID1 = fnOpen(TYPE_CAN, FOR_I_O, &tCANParameters);
For all reception matching, tCANParameters.ulRxIDMask can be set to 0.
For 12 Rx buffers and 4 tx buffers one would use
tCANParameters.ucTxBuffers = 4;
tCANParameters.ucRxBuffers = 12;
etc.
See dual flexCAN video at https://www.youtube.com/watch?v=Ha8cv_XEvco
Regards
Mark
Complete Kinetis solutions for professional needs, training and support: http://www.utasker.com/kinetis.html
Kinetis K66:
- http://www.utasker.com/kinetis/TWR-K65F180M.html
- http://www.utasker.com/kinetis/FRDM-K66F.html
- http://www.utasker.com/kinetis/TEENSY_3.6.html
uTasker: supporting >1'000 registered Kinetis users get products faster and cheaper to market
Request Free emergency remote desk-top consulting at http://www.utasker.com/services.html
Open Source version at https://github.com/uTasker/uTasker-Kinetis
CAN: http://www.utasker.com/docs/uTasker/uTaskerCAN.PDF