• STM32——CAN总线过滤器设置


    STM32CAN控制器每个筛选器组由两个32位的寄存器组成。

    根据所需位宽的不同,各个筛选器可配置成16位或32位模式(如下图,当FSCx=1为32位模式,FSCx=0时为16位模式)。同时,筛选器的模式可配置成掩码模式和列表模式(FBMx=0为掩码模式,FBMx=1为列表模式)。

    掩码模式:对报文ID的每一位可选择必须相同不管它。

    列表模式:只给出接收的ID,其它的一概不接收。

    下面将这四种情况分别介绍一下:

    1、1个32位筛选器——掩码模式
        第一个筛选器写入报文ID,第二个筛选器规定对应的每个位是检查它(置1)还是不管它(置0)。
        例如,第一个筛选器设置为0x0000,这时候如果第二个筛选器设置0xFFFF,就意味着对每个位都检查,即只接收ID是0x0000的报文。如果第二个筛选器设置0xFFFE,就是对最后一位不管,这时候0x0001和0x0000都可以被接收啦。

    2、2个32位筛选器——列表模式
        第一个筛选器写入报文ID,第二个也写标准的报文ID。此时只接收ID为这俩的报文。
        例如,第一个筛选器设置0x0000,第二个筛选器设置0x0001。此时只能接收ID为0x0000和0x0001的报文了。

    3、2个16位筛选器——掩码模式
        和第一种情况差不多,只不过位宽减小到了16位,只支持标准ID格式,但是可以筛选的ID数增大到了两个。

    4、4个16位筛选器——列表模式
        拆分成的4个16位筛选器允许写入4个标准ID,只接收这4个ID的报文。

  • 相关阅读:
    顺序容器
    forward_list
    array
    第十一章 关联容器
    C++数组
    C++标准库算法
    第十章 泛型算法
    第九章 顺序容器
    操作系统概述
    文件输入输出
  • 原文地址:https://www.cnblogs.com/Irvingcode/p/11815973.html
Copyright © 2020-2023  润新知