STM32共有14组过滤器,用以对接收到的帧进行过滤。每组过滤器包括了2个可配置的32位寄存器:CAN_FxR0和CAN_FxR1。
对于过滤器组,可以将其配置成屏蔽位模式,这样CAN_FxR0中保存的就是标识符匹配值,CAN_FxR1中保存的是屏蔽码, 即CAN_FxR1中如果某一位为1,
则CAN_FxR0中相应的位必须与收到的帧的标志符中的相应位吻合才能通过过滤器;CAN_FxR1中为0的位表示CAN_FxR0中的相应位可不必与收到的帧进行匹配。 过滤器组还可以被配置成标识符列表模式,此时CAN_FxR0和CAN_FxR1中的都是要匹配的标识符,收到的帧的标识符必须与其中的一个吻合才能通过过滤。
stm32是一块单片机,就是一块控制芯片.
CAN总线是一种通讯协议,就像咱们的串口,是用于器件之间通讯用的.
就像咱们的串口需要一块MAX232芯片作逻辑转换一样,CAN也需要一块专门的CAN芯片支持.
单片机普通IO脚接CAN芯片,单片机发出通讯信号给CAN芯片作逻辑转换后,CAN芯片将信号放到CAN总线上去传输,信号到了目的地后进入另一块CAN芯片,CAN芯片将处理好的信号给予目标芯片.
CAN总线通信系统是串行通信的一种,要优于RS485总线,是目前比较常用的一种工业总线。如汽车的电气部分就采用CAN总线实现通信的。用普通的单片机组成CAN通信是很麻烦的,需要配置CAN接口电路。而stm32把CAN接口集成在芯片内,在应用上就方便了。
本文标签:stm32战舰v3can总线