Guten Morgen,
ich bin derzeit dabei den Can Filter einzustellen. Es sollen nur die Can
Nachrichten mit den ID's 0x100 ... 0x1FF vom Hardwarefilter
durchgelassen werden.
1 | CAN_FilterInitTypeDef CAN_FilterInitStructure;
|
2 |
|
3 | CAN_FilterInitStructure.CAN_FilterNumber = 0;
|
4 | CAN_FilterInitStructure.CAN_FilterMode = CAN_FilterMode_IdMask;
|
5 | CAN_FilterInitStructure.CAN_FilterScale = CAN_FilterScale_32bit;
|
6 | CAN_FilterInitStructure.CAN_FilterIdHigh = 0x0100 << 5;
|
7 | CAN_FilterInitStructure.CAN_FilterIdLow = 0x0000;
|
8 | CAN_FilterInitStructure.CAN_FilterMaskIdHigh= 0x01FF << 5;
|
9 | CAN_FilterInitStructure.CAN_FilterMaskIdLow = 0x0000;
|
10 |
|
11 | CAN_FilterInitStructure.CAN_FilterFIFOAssignment= 0;
|
12 | CAN_FilterInitStructure.CAN_FilterActivation = ENABLE;
|
13 | CAN_FilterInit(&CAN_FilterInitStructure);
|
Leider verstehe ich den Filtermechanismus nicht. Wie müsste ich den
FilterId sowie den Filter Mask konfigurieren ?