关于飞思卡尔MSCAN滤波器的理解
MSCAN滤波器有四种工作模式,这四种工作模式由寄存器CANIDAC控制:
1、2个32位滤波器,可过滤2个ID,寄存器值设置为0x00
2、4个16位滤波器,可过滤4个ID,寄存器值设置为0x10
3、8个8位滤波器,可过滤8个ID,寄存器值设置为0x20
4、关闭滤波器,寄存器值设置为0x30
涉及到的寄存器如下:
1、设置滤波器模式寄存器:CANIDAC
2、设置接收寄存器:CAN_IDAR0~7
3、设置掩码位(屏蔽器):CAN_IDMR0~7
掩码值的位为1则不需要对比,为0则需要对比,对于4个16位滤波器,标准帧滤波器的掩码后3位可以是0也可以是1,无关痛痒,
接收到一个ID之后,由掩码位决定该帧ID是否进入到CPU,标准帧ID是11位,格式如下:
D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0 RTR IDE X X X
其中D10-D0是需要用来匹配滤波的,RTR表示远程帧还是数据帧,IDE恒为0,对于4个16位滤波器而言,标准帧的掩码值设置为0x001F(二进制:0000 0000 0001 1111),掩码结果为:0000 0000 000x xxxx,表示接收到的ID一定要D10-D0完全匹配才能进入到CPU处理。
其中分为标准帧与扩展帧的滤波,简洁代码示例,以4个16位滤波器工作模式:
********************************************************
关于飞思卡尔MSCAN滤波器的理解相关推荐
- 飞思卡尔微控制与MSCAN ----自学笔记
概述 飞思卡尔半导体是全球最大的半导体公司之一. 飞思卡尔是车用半导体微控制器(MCU)领域排名第一的供应商. 飞思卡尔在业内提供最高质量的Flash存储器. 飞思卡尔的微控制器按CPU字长分为8位. ...
- 飞思卡尔MC9S12XEP100 CAN学习总结(三) 滤波器配置
飞思卡尔MC9S12XEP100 CAN学习总结(一) 概述 飞思卡尔MC9S12XEP100 CAN学习总结(二) 波特率配置 飞思卡尔MC9S12XEP100 CAN学习总结(三) 滤波器配置 本 ...
- 利用三轴加速度求解位移的算法—来自飞思卡尔方案
在要求精度不高的情况,可以使用三轴加速度积分得到位移,飞思卡尔给出了官方方法,下文来自翻译说明 cache.freescale.com/files/senso- 摘要 此文档描述并使用MMA7260Q ...
- 飞思卡尔MC9S12X:CAN初始化配置
飞思卡尔MC9S12X:CAN初始化配置 飞思卡尔MC9S12X:CAN发送配置 飞思卡尔MC9S12X:CAN接收配置 飞思卡尔MC9S12X:CAN驱动函数在主函数中的应用 一.MSCAN初始化流 ...
- 痞子衡嵌入式:飞思卡尔i.MX RTyyyy系列MCU启动那些事(8)- 从Raw NAND启动
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RTyyyy系列MCU的Raw NAND启动. 前面铺垫了七篇启动系列文章,终于该讲具体Boot Device了,我们 ...
- ftm模块linux驱动,飞思卡尔k系列_ftm模块详解.doc
飞思卡尔k系列_ftm模块详解 1.5FTM模块1.5.1 FTM模块简介FTM模块是一个多功能定时器模块,主要功能有,PWM输出.输入捕捉.输出比较.定时中断.脉冲加减计数.脉冲周期脉宽测量.在K1 ...
- ai电磁组属于什么组_飞思卡尔智能车电磁组分区算法介绍
写在之前的话: 1.目前我是一名在校学生,这也是我第一次写博客,不周之处,请多谅解: 2.此算法并非原创,借鉴自山东德州学院第八届白杨队(PS:个人看法,对于一些人把别人的开源东西改头换面一下就说是自 ...
- 飞思卡尔智能车之舵机算法
恍恍惚惚,将近一年的智能车生涯终于结束了,虽然到目前为止我们的车子还是比不上学长的神车,但是也还算是对的起我们组一年的辛勤与努力了,为了给自己惨败的智能车比赛和还算完整的智能车学习生涯留下点东西.我打 ...
- MC56F825X 芯片解密飞思卡尔芯片型号
MC56F825X 芯片基本特性: •60mhz工作频率 •DSP和MCU功能统一,c高效架构 •芯片上的记忆 56F8245/46: 48kb (24K x 16)快闪记忆体;6kb (3K x 1 ...
- 飞思卡尔 熟悉小车之 舵机篇
今天重新回到科创中心,开始飞思卡尔的旅程 这个寒假已经把野火k60的上手视频全部自学完了,并没有觉得有多难.而且在大一下学期和大二上学期,我参加了各种程序大赛,c语言的基础还是有的.再加上自学了半个学 ...
最新文章
- 【C++】operator bool() 和 operator const bool() const
- Linux编程中的坑——C++中exit和return的区别
- 如何在组件模板中选择元素?
- 后台开发经典书籍--深入理解计算机系统
- zeekooper集群搭建_How to do - ZooKeeper集群搭建(我见过最详细的完整教学)
- 把字符串3,1,2,4以,分割拆分为数组,数组元素并按从小到大的顺序排列
- Flask--WebSocket
- Centos yum install和yum groupinstall的区别
- java查看链表指定元素_Java 实例 – 链表元素查找
- mcldownload文件夹_《我的世界》中国版游戏空间精简教程 多余文件删除方法
- 手头现在有gtx970显卡一张,想出了970加800升级显卡,有什么推荐?
- 90. php 命名空间
- 怎么确认mysql正确安装_怎么确认mysql是否安装好了
- MongoDb数据库连接工具
- MSB3644 找不到 .NETFramework,Version=v4.7 的引用程序集。要解决此问题,请为此框架版本安装......
- 视频怎么压缩?这三个方法很好用
- php海报/合同图片生成类
- 论文阅读:Pixel-level Extrinsic Self Calibration of High Resolution LiDAR and Camera
- C++ 写的地图控件,支持google 百度 在线离线地图
- docker导出mysql_Docker 导出 mysql 数据