以STM32F107VCT6芯片的bxCAN控制器为例,介绍了与标识符过滤相关的寄存器构成,并详细分析了标识符过滤参数的配置方法和过滤规则。最后,为方便移植和使用,给出了该控制器标识符过滤的C语言程序。 引言 在CAN协议里,报文的标识符不代表节点的地址,而是与报文的内容相关。在通信过程中,发送方将数据附上特定的标识符以广播的形式发送到总线上。由于CAN总线的局域网性质,总线上的其他节点会同时检测到此报文,接收节点会根据标识符的值来决定软件是否需要该报文。如果需要,就拷贝到SRAM里;如果不需要,则报文被丢弃,且无需软件的干预。采用这种硬件过滤的方式可以大大节省CPU的开销。