cancel
Showing results for 
Search instead for 
Did you mean: 

Even Odd Can Filtering

simon2
Associate II
Posted on December 08, 2008 at 07:34

Even Odd Can Filtering

1 REPLY 1
simon2
Associate II
Posted on May 17, 2011 at 12:55

I am having problems setting the can filters to provide filtering on the ExtId for an even and odd Id.

I believe this should set the Filters so on an even ExtId Mailbox 0 should recieve and on an Odd ExtId Mailbox 1 should recieve by identifying if the last (LSB) of the ExtId is a 1 or 0.

In my testing this does not seem to be the case, can anyone identify what i may be doing wrong?

// CAN filter init for Mailbox 0 - Mask on Request (even number)//

CAN_FilterInitStructure.CAN_FilterNumber=1;

CAN_FilterInitStructure.CAN_FilterMode=CAN_FilterMode_IdMask;

CAN_FilterInitStructure.CAN_FilterScale=CAN_FilterScale_32bit;

CAN_FilterInitStructure.CAN_FilterIdHigh=0x0000;

CAN_FilterInitStructure.CAN_FilterIdLow=0x0000;

CAN_FilterInitStructure.CAN_FilterMaskIdHigh=0x0000;

CAN_FilterInitStructure.CAN_FilterMaskIdLow=0x0008;

CAN_FilterInitStructure.CAN_FilterFIFOAssignment=CAN_FilterFIFO0;

CAN_FilterInitStructure.CAN_FilterActivation=ENABLE;

CAN_FilterInit(&CAN_FilterInitStructure);

// CAN filter init for Mailbox 1 - Mask on Response (odd number)//

CAN_FilterInitStructure.CAN_FilterNumber=2;

CAN_FilterInitStructure.CAN_FilterMode=CAN_FilterMode_IdMask;

CAN_FilterInitStructure.CAN_FilterScale=CAN_FilterScale_32bit;

CAN_FilterInitStructure.CAN_FilterIdHigh=0x0000;

CAN_FilterInitStructure.CAN_FilterIdLow=0x0008;

CAN_FilterInitStructure.CAN_FilterMaskIdHigh=0x0000;

CAN_FilterInitStructure.CAN_FilterMaskIdLow=0x0008;

CAN_FilterInitStructure.CAN_FilterFIFOAssignment=CAN_FilterFIFO1;

CAN_FilterInitStructure.CAN_FilterActivation=ENABLE;

CAN_FilterInit(&CAN_FilterInitStructure);