2008-12-07 10:34 PM
Even Odd Can Filtering
2011-05-17 03:55 AM
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);