使用的是 32位的標識符屏蔽位模式
CAN_FilterIdHigh和CAN_FilterIdLow組合成一個32位寄存器,用來存儲將要過濾的ID
CAN_FilterMaskIdHigh和CAN_FilterMaskIdLow組合成一個32位寄存器,用來表示這個ID的哪些位
必須符合(置1),哪些位不care(置0).
使用標示符屏蔽模式可以實現接收包含特定位的幀,即一系列的幀。
CAN的接收郵箱標示符寄存器中,31~3位存儲29位的擴展標示符。
所以通過濾波器要接收ID爲0x0A的幀,
CAN_FilterIdLow = 0x000A << 3; CAN_FilterIdHigh = 0;
CAN_FilterMaskIdLow = 0x00FF << 3; CAN_FilterMaskIdHigh = 0;