Question
STM32 CAN Receive Mailbox
Posted on February 20, 2013 at 13:40
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-can