stm32F4 CAN总线学习 下载本文

滤波比例滤波器可以提供:

? 1个32位的滤波器,包含基本ID[10:0],扩展ID[17:0],IDE位和RTR位。 ? 2个16位的滤波器,包含基本ID[10:0],RTR,IDE和扩展ID[17:15]。

此外,滤波器可以设置成位屏蔽模式或标识符列表模式。

位屏蔽模式 在位屏蔽模式下,标识符寄存器与掩码寄存器中指定位存在关联,那就是接收消息的标识符在掩码寄存器中指定的位与标识符寄存器的相应位“相同”或者“不关心”。

标识符列表模式 在标识符模式下,掩码寄存器被作为标识符寄存器,因此,不是一个标识符寄存器和一个掩码寄存器,而是两个标识符寄存器。传入的标识符的所有位都必须与滤波寄存器匹配。

滤波器位宽和模式设置 通过相应的CAN_FMR寄存器配置滤波器,为了配置滤波器,必须先通过清除CAN_FAR寄存器中的FACT位来关闭滤波器。通过相应的CAN_FS1R寄存器中的FSCx来配置滤波器位宽。通过设置相应CAN_FM0R寄存器的FBMx位,可以配置过滤器组为标识符列表模式或屏蔽位模式。

为了过滤出一组标识符,应该设置过滤器组工作在屏蔽位模式。 为了过滤出一个标识符,应该设置过滤器组工作在标识符列表模式。 应用程序不用的过滤器组,应该保持在禁用状态。

13