STM32的CAN过滤器详解
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过滤器详解相关推荐
- STM32—— AHB、APB详解
STM32-- AHB.APB详解 2016-07-14 20:35 590人阅读 评论(0) 收藏 举报 本文章已收录于: 版权声明:本文为博主原创文章,未经博主允许不得转载. 一.概括 首先 ...
- STM32开发 -- 蓝牙开发详解(2)
如需转载请注明出处:https://juyou.blog.csdn.net/article/details/100708695 接着 STM32开发 – 蓝牙开发详解(1) 这一篇接着讲. 看了好久好 ...
- STM32开发 -- 低功耗模式详解(2)
如需转载请注明出处:https://juyou.blog.csdn.net/article/details/98631012 上一篇文章 STM32开发 – 低功耗模式详解(1) 简单的总结了一下低功 ...
- HBase的布隆过滤器详解
HBase的布隆过滤器详解 1.布隆过滤器的简单介绍 2.布隆过滤器的原理分析 2.1 哈希表存在的问题 2.2 布隆过滤器的原理 2.2.1 原理详解 2.2.2 布隆过滤器失误率的调节 2.2.3 ...
- STM32开发 -- 低功耗模式详解
很多单片机都有低功耗模式,STM32 也不例外.当 CPU 不需继续运行时,可以利用多个低功耗模式来节省功耗. 这部分不是我负责,但是也是有必要看一下的. 参看: STM32F1开发指南-库函数版本_ ...
- stm32项目平衡车详解(stm32F407)下
stm32项目平衡车详解(stm32F407)下 本文章学习借鉴于创客学院团队,以表感谢.教学视频 B站学习地址 HC-SRO4 超声波测距避障功能开发 TSL1401 CCD摄像头实现小车巡线功能 ...
- android edittext 过滤英文名称,Android 限制edittext 整数和小数位数 过滤器(详解)
写了一个过滤器,根据需要限制edittext输入的整数和小数位,如下代码: package allone.verbank.apad.client.component; import android.t ...
- 如何用c语言编写stm32的程序吗,STM32入门C语言详解
<STM32入门C语言详解>由会员分享,可在线阅读,更多相关<STM32入门C语言详解(6页珍藏版)>请在人人文库网上搜索. 1.最新 料推荐阅读 flash : 芯片内部存储 ...
- 【STM32-I2C学习总结】STM32:硬件-IIC详解 , 固件库编程 , 手把手教你实现IIC
STM32:硬件-IIC详解 , 固件库编程 , 手把手教你实现IIC 一 .I2C物理层 二.协议层 1.I2C基本读写过程 (1)主机写数据到从机 (2)主机由从机中读数据 (3)I2C 通讯复合 ...
最新文章
- R语言一次性读入多个csv文件实战:一次导入多个csv形成一个统一的dataframe、原生R方法、readr包、data.table
- linux的本地时间命令
- 区块链BaaS云服务(21)腾讯CCGP”安全沙箱“
- PMCAFF | App竞品分析报告:美丽说VS蘑菇街
- AI基础:Numpy简易入门
- [BZOJ2324][ZJOI2011][最小费用最大流]营救皮卡丘
- P4170-[CQOI2007]涂色【区间dp】
- System.Web.AspNetHostingPermission 类型的权限已失败
- FPGA内部资源总结
- 使用vue搭建项目(创建手脚架)
- Spark性能优化指南——基础篇【1】
- Android Span 进阶
- 分享16款Java小游戏源码Java applet小游戏源码
- 二分算法:数的三次方根
- Docker Desktop 错误:必须在BIOS中启用 硬件辅助虚拟化和数据执行保护
- Kotlin使用高阶函数实现多方法回调
- linux vi 编辑器下经常会用到保存退出与不保存退出
- uniapp 点击动画_uni-app 点击元素左右抖动效果
- div默认外边距是多少_CSS外边距
- GitHub 热点速览 Vol.18:刷 LeetCode 的正确姿势
热门文章
- Qt开启本地事件循环(防止界面卡阻塞【卡死】)QEventLoop 的基本使用
- Qt工作笔记-ui文件连接信号与槽
- 软考 计算机网络,软考-计算机网络总复习
- go语言接收html传值,Go语言参数传递是传值还是传引用
- redis获取byte数组_《Redis深度历险》读书笔记
- zabbix2.4 mysql模板_zabbix自带的模板监控mysql
- 郭凯天:中国公益慈善行业数字化观察与思考
- Android开发:5-1、Adopter
- 【专栏必读】王道考研408计算机组成原理万字笔记和题目题型总结(从学生角度辅助大家理解):各章节导航及思维导图
- Java编写的统计字符代码