Filter bank i register x (CAN_FiRx) (i=0..27, x=1, 2)

Регистр x банков i фильтра CAN-шины (регистр маски / идентификатора)

Смещение (Address offset): 0x240 ... 0x31C

Reset value: 0xXXXX'XXXX

Регистр доступен для записи только когда сброшен бит FBx регистра CAN_FAxR или установлен бит FINIT регистра CAN_FMR

3130292827262524
FB31 FB30 FB29 FB28 FB27 FB26 FB25 FB24
rwrwrwrwrwrwrwrw
XXXXXXXX
2322212019181716
FB23 FB22 FB21 FB20 FB19 FB18 FB17 FB16
rwrwrwrwrwrwrwrw
XXXXXXXX


15141312111098
FB15 FB14 FB13 FB12 FB11 FB10 FB9 FB8
rwrwrwrwrwrwrwrw
XXXXXXXX
76543210
FB7 FB6 FB5 FB4 FB3 FB2 FB1 FB0
rwrwrwrwrwrwrwrw
XXXXXXXX


Bits 31:0
FBx
Filter bits
Биты фильтра x

Идентификатор (Identifier):

 0 :  ожидается доминантный бит ("0").

 1 :  ожидается рецессивный бит ("1").

Маска (Mask):

 0 :  бит отбрасывается и не используется для сравнения с идентификатором.

 1 :  бит используется для сравнения с соответствующим битом идентификатора.

Назначение битов изменяется в зависимости от настрое регистров режима CAN_FM1R и размера CAN_FS1R фильтров.

Регистр в режиме маски (mask mode) имеет то же битовое отображение, что и в режиме списка идентификаторов (identifier list mode).



/*******************  Bit definition for CAN_F0R1 register  *******************/

#define  CAN_F0R1_FB0      ((uint32_t)0x00000001)    /* Filter bit 0 */
#define  CAN_F0R1_FB1      ((uint32_t)0x00000002)    /* Filter bit 1 */
#define  CAN_F0R1_FB2      ((uint32_t)0x00000004)    /* Filter bit 2 */
#define  CAN_F0R1_FB3      ((uint32_t)0x00000008)    /* Filter bit 3 */

#define  CAN_F0R1_FB4      ((uint32_t)0x00000010)    /* Filter bit 4 */
#define  CAN_F0R1_FB5      ((uint32_t)0x00000020)    /* Filter bit 5 */
#define  CAN_F0R1_FB6      ((uint32_t)0x00000040)    /* Filter bit 6 */
#define  CAN_F0R1_FB7      ((uint32_t)0x00000080)    /* Filter bit 7 */

#define  CAN_F0R1_FB8      ((uint32_t)0x00000100)    /* Filter bit 8 */
#define  CAN_F0R1_FB9      ((uint32_t)0x00000200)    /* Filter bit 9 */
#define  CAN_F0R1_FB10     ((uint32_t)0x00000400)    /* Filter bit 10 */
#define  CAN_F0R1_FB11     ((uint32_t)0x00000800)    /* Filter bit 11 */

#define  CAN_F0R1_FB12     ((uint32_t)0x00001000)    /* Filter bit 12 */
#define  CAN_F0R1_FB13     ((uint32_t)0x00002000)    /* Filter bit 13 */
#define  CAN_F0R1_FB14     ((uint32_t)0x00004000)    /* Filter bit 14 */
#define  CAN_F0R1_FB15     ((uint32_t)0x00008000)    /* Filter bit 15 */

#define  CAN_F0R1_FB16     ((uint32_t)0x00010000)    /* Filter bit 16 */
#define  CAN_F0R1_FB17     ((uint32_t)0x00020000)    /* Filter bit 17 */
#define  CAN_F0R1_FB18     ((uint32_t)0x00040000)    /* Filter bit 18 */
#define  CAN_F0R1_FB19     ((uint32_t)0x00080000)    /* Filter bit 19 */

#define  CAN_F0R1_FB20     ((uint32_t)0x00100000)    /* Filter bit 20 */
#define  CAN_F0R1_FB21     ((uint32_t)0x00200000)    /* Filter bit 21 */
#define  CAN_F0R1_FB22     ((uint32_t)0x00400000)    /* Filter bit 22 */
#define  CAN_F0R1_FB23     ((uint32_t)0x00800000)    /* Filter bit 23 */

#define  CAN_F0R1_FB24     ((uint32_t)0x01000000)    /* Filter bit 24 */
#define  CAN_F0R1_FB25     ((uint32_t)0x02000000)    /* Filter bit 25 */
#define  CAN_F0R1_FB26     ((uint32_t)0x04000000)    /* Filter bit 26 */
#define  CAN_F0R1_FB27     ((uint32_t)0x08000000)    /* Filter bit 27 */

#define  CAN_F0R1_FB28     ((uint32_t)0x10000000)    /* Filter bit 28 */
#define  CAN_F0R1_FB29     ((uint32_t)0x20000000)    /* Filter bit 29 */
#define  CAN_F0R1_FB30     ((uint32_t)0x40000000)    /* Filter bit 30 */
#define  CAN_F0R1_FB31     ((uint32_t)0x80000000)    /* Filter bit 31 */