zoukankan      html  css  js  c++  java
  • 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的报文。

  • 相关阅读:
    P3469 [POI2008]BLO-Blockade
    洛谷P2342 叠积木
    洛谷 P1197 [JSOI2008]星球大战
    洛谷P1967 货车运输
    洛谷P2812校园网络【Network of Schools加强版】
    洛谷P3003 苹果交货Apple Delivery
    luogu Eat the Trees
    插头DP模板
    [NOIP2017] 宝藏
    LOJ6268拆分数
  • 原文地址:https://www.cnblogs.com/Irvingcode/p/11815973.html
Copyright © 2011-2022 走看看