STM32普通芯片的CAN有14组过滤器组,互联型有28组过滤器组,每组过滤器有2个可配置的32位寄存器:CAN_FxR0和CAN_FxR1。用以对收到的帧进行过滤,以此判断是否接收该帧。

每组过滤器组有两种工作模式:标识符列表模式,标识符屏蔽位模式。

标识符列表模式:收到的标识符必须与过滤器的值完全相等,才能通过。

标识符屏蔽位模式:只要标识符的某些位符合,就算通过。

每组过滤器的过滤宽度是可变的,有两种类型:32位,16位。

可以通过配置工作模式和宽度,将一个过滤器组配置为如下4种形式:

32位的屏蔽位模式:1个过滤器。

CAN_FxR1用于指定需要关心哪些位

CAN_FxR0用于指定这些位的值

32位的列表模式:2个过滤器

CAN_FxR0用来指定过滤器0的标准值

CAN_FxR0用于指定过滤器1的标准值

16位的 屏蔽位模式:2个过滤器

CAN_FxR0用来配置过滤器0,[31-16]位指定需要关心的位,[15-0]指定这些位的值

CAN_FxR1用来配置过滤器1,[31-16]位指定需要关心的位,[15-0]指定这些位的值

16位的列表模式:4个过滤器

CAN_FxR0的[15-0]位用来配置过滤器0,[31-16]位用来配置过滤器1

CAN_FxR1的[15-0]位用来配置过滤器2,[31-16]位用来配置过滤器3

STM32有两个接收FIFO,分别是FIFO0,FIFO1。每组过滤器组必须关联且只能关联一个FIFO,复位都关联到FIFO0。所谓关联就是一旦报文通过过滤器,就会存到事先关联的FIFO中。

下面具体看一下,CAN_FxR0和CAN_FxR1各中模式下各位的定义:

32位的屏蔽位模式:

32位的列表模式:

16位的屏蔽位模式:

16位的列表模式:



STM32的CAN过滤器详解相关推荐

  1. STM32—— AHB、APB详解

     STM32-- AHB.APB详解 2016-07-14 20:35 590人阅读 评论(0) 收藏 举报 本文章已收录于: 版权声明:本文为博主原创文章,未经博主允许不得转载. 一.概括 首先 ...

  2. STM32开发 -- 蓝牙开发详解(2)

    如需转载请注明出处:https://juyou.blog.csdn.net/article/details/100708695 接着 STM32开发 – 蓝牙开发详解(1) 这一篇接着讲. 看了好久好 ...

  3. STM32开发 -- 低功耗模式详解(2)

    如需转载请注明出处:https://juyou.blog.csdn.net/article/details/98631012 上一篇文章 STM32开发 – 低功耗模式详解(1) 简单的总结了一下低功 ...

  4. HBase的布隆过滤器详解

    HBase的布隆过滤器详解 1.布隆过滤器的简单介绍 2.布隆过滤器的原理分析 2.1 哈希表存在的问题 2.2 布隆过滤器的原理 2.2.1 原理详解 2.2.2 布隆过滤器失误率的调节 2.2.3 ...

  5. STM32开发 -- 低功耗模式详解

    很多单片机都有低功耗模式,STM32 也不例外.当 CPU 不需继续运行时,可以利用多个低功耗模式来节省功耗. 这部分不是我负责,但是也是有必要看一下的. 参看: STM32F1开发指南-库函数版本_ ...

  6. stm32项目平衡车详解(stm32F407)下

    stm32项目平衡车详解(stm32F407)下 本文章学习借鉴于创客学院团队,以表感谢.教学视频 B站学习地址 HC-SRO4 超声波测距避障功能开发 TSL1401 CCD摄像头实现小车巡线功能 ...

  7. android edittext 过滤英文名称,Android 限制edittext 整数和小数位数 过滤器(详解)

    写了一个过滤器,根据需要限制edittext输入的整数和小数位,如下代码: package allone.verbank.apad.client.component; import android.t ...

  8. 如何用c语言编写stm32的程序吗,STM32入门C语言详解

    <STM32入门C语言详解>由会员分享,可在线阅读,更多相关<STM32入门C语言详解(6页珍藏版)>请在人人文库网上搜索. 1.最新 料推荐阅读 flash : 芯片内部存储 ...

  9. 【STM32-I2C学习总结】STM32:硬件-IIC详解 , 固件库编程 , 手把手教你实现IIC

    STM32:硬件-IIC详解 , 固件库编程 , 手把手教你实现IIC 一 .I2C物理层 二.协议层 1.I2C基本读写过程 (1)主机写数据到从机 (2)主机由从机中读数据 (3)I2C 通讯复合 ...

最新文章

  1. R语言一次性读入多个csv文件实战:一次导入多个csv形成一个统一的dataframe、原生R方法、readr包、data.table
  2. linux的本地时间命令
  3. 区块链BaaS云服务(21)腾讯CCGP”安全沙箱“
  4. PMCAFF | App竞品分析报告:美丽说VS蘑菇街
  5. AI基础:Numpy简易入门
  6. [BZOJ2324][ZJOI2011][最小费用最大流]营救皮卡丘
  7. P4170-[CQOI2007]涂色【区间dp】
  8. System.Web.AspNetHostingPermission 类型的权限已失败
  9. FPGA内部资源总结
  10. 使用vue搭建项目(创建手脚架)
  11. Spark性能优化指南——基础篇【1】
  12. Android Span 进阶
  13. 分享16款Java小游戏源码Java applet小游戏源码
  14. 二分算法:数的三次方根
  15. Docker Desktop 错误:必须在BIOS中启用 硬件辅助虚拟化和数据执行保护
  16. Kotlin使用高阶函数实现多方法回调
  17. linux vi 编辑器下经常会用到保存退出与不保存退出
  18. uniapp 点击动画_uni-app 点击元素左右抖动效果
  19. div默认外边距是多少_CSS外边距
  20. GitHub 热点速览 Vol.18:刷 LeetCode 的正确姿势

热门文章

  1. Qt开启本地事件循环(防止界面卡阻塞【卡死】)QEventLoop 的基本使用
  2. Qt工作笔记-ui文件连接信号与槽
  3. 软考 计算机网络,软考-计算机网络总复习
  4. go语言接收html传值,Go语言参数传递是传值还是传引用
  5. redis获取byte数组_《Redis深度历险》读书笔记
  6. zabbix2.4 mysql模板_zabbix自带的模板监控mysql
  7. 郭凯天:中国公益慈善行业数字化观察与思考
  8. Android开发:5-1、Adopter
  9. 【专栏必读】王道考研408计算机组成原理万字笔记和题目题型总结(从学生角度辅助大家理解):各章节导航及思维导图
  10. Java编写的统计字符代码