2013-02-20 04:40 AM
Hi,
I am working with STM32F101 using CAN1 controller.
I configure the CAN filter to accept messages from 0x100 to 0x1FF as follows:
CAN_FilterInitTypeDef CAN_FilterInitStructure ;
CAN_FilterInitStructure. CAN_FilterNumber = 0 ; CAN_FilterInitStructure. CAN_FilterMode = CAN_FilterMode_IdMask ; CAN_FilterInitStructure. CAN_FilterScale = CAN_FilterScale_16bit ; CAN_FilterInitStructure. CAN_FilterIdHigh = 0x100 << 5 ; CAN_FilterInitStructure. CAN_FilterIdLow = 0x200 << 5 | 0x10 ; CAN_FilterInitStructure. CAN_FilterMaskIdHigh = 0xFE0 << 5 ; CAN_FilterInitStructure. CAN_FilterMaskIdLow = 0xFFF << 5 | 0x10 ; CAN_FilterInitStructure. CAN_FilterFIFOAssignment = 0 ; CAN_FilterInitStructure. CAN_FilterActivation = ENABLE ; CAN_FilterInit(&CAN_FilterInitStructure);Now when I have CAN_FilterInitStructure.CAN_FilterFIFOAssignment = 0,I get the message frames in above range successfully.
But when CAN_FilterInitStructure.CAN_FilterFIFOAssignment =1,no frames are received.So I would like to know,what is the role of this parameter?
Is it not to set the FIFO of receive mailbox? If not what is the way to configure the Receive mailbox FIFO? #stm32-can2013-02-22 05:45 AM
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.