MCP2517FD滤波ID设置

    //   DRV_CANFDSPI_FilterDisable(DRV_CANFDSPI_INDEX_0,CAN_FILTER0);//先禁用过滤器// Setup RX FilterfObj.word = 0;fObj.bF.SID = 0x44;    //SID自身发送ID  SID只接收0x44fObj.bF.SID11 =0;fObj.bF.EID = 0x2000;  //EID只接收0x20000fObj.bF.EXIDE = 1;     //1支持扩展帧DRV_CANFDSPI_FilterObjectConfigure(DRV_CANFDSPI_INDEX_0, CAN_FILTER0, &fObj.bF);// Setup RX Mask  下面代表了掩码MASKmObj.word = 0;         //0代表Dont CaremObj.bF.MSID = 0x7FF;  //SID:标准ID  11位掩码mObj.bF.MSID11 = 0;mObj.bF.MEID = 0x3FFFF;//EID:扩展ID 18位掩码mObj.bF.MIDE = 1;      //Match IDE bitsDRV_CANFDSPI_FilterMaskConfigure(DRV_CANFDSPI_INDEX_0, CAN_FILTER0, &mObj.bF);// Link FIFO and FilterDRV_CANFDSPI_FilterToFifoLink(DRV_CANFDSPI_INDEX_0, CAN_FILTER0, APP_RX_FIFO, true);

图片所示,是MCP2517数据手册给出的一个滤波器配置代码示例:只接收标准帧,并且滤波ID为SID = 0x300-0x30F。

  1. 首先是设置fobj.SID=0x300为滤波器第一个ID,因为是组滤波,所以设置掩码(MASK),因为是0x300-0x30F,也就是最后四位是保留的,所以是0x7F0,如果是滤波单个的,那么mobj.MSID=0x7FF即可。
  2. 为什么是0x7FF,是因为SID是11位的,0x111 1111 1111=0x7FF
  3. 代码所示是我们协议里要求的,要求只接收扩展帧,并且只接收ID=0x1102000=000 0100 0100 00 0010 0000 0000 0000,前面11位是SID=000 0100 0100=0x44,后面18位是EID=00 0010 0000 0000 0000=0x2000,
  4. 因为代码示例中SID和EID都是一个,没有范围,相当于是0x1102000-0x1102000.所以这两个是掩码分别是0x7FF,0x3FFFF
  5. fobj.EXIDE=0,只接收标准帧,fobj.EXIDE=1,只接收扩展帧,mobj.MIDE配置为=1
  6. 最后实测,只有当另外一个CANFD模块设置发送ID=0x1102000时,才可以正常接收,其他的ID均不可以
  7. MCP2517数据手册下载地址:https://www.microchip.com/wwwproducts/en/MCP2517FD
  8. 因为MCP2517的发送和接收是通过读写寄存器实现的,并不是简单的将TTL电平通过电平转换为CANFD电平,而读写MCP2517的电平是会消耗时间的(单纯的电平转换是几乎不消耗时间的,比如常见的TTL转232芯片,因为逻辑简单,只用电平转换,CAN的底层比较复杂,所以需要读写寄存器等消耗时间),这个时间和SPI读取速率、MCP2517工作时钟、以及读写数据长度都有关系
  9. 在给CAN以及CANFD等测试有无匹配电阻的时候,因为是只在首尾增加匹配电阻,有的板子上没有焊接,而有的板子上是焊接120欧匹配电阻的,我们不用查看板子上是否焊接了电阻,只用使用万用表测试CANH和CANL之间的电阻是不是120欧即可判断是否焊接匹配电阻(测试方法同485等需要增加匹配电阻的总线网络)。

CANFD MCP2517FD 滤波ID设置例子相关推荐

  1. WordPress后台的文章、分类,媒体,页面,评论,链接等所有信息中显示ID并将ID设置为第一列...

    WordPress后台默认是不显示文章.分类等信息ID的,查看起来非常不方便,不知道Wp团队出于什么原因默认不显示这个但可以使用Simply Show IDs插件来实现 不使用插件,其他网友的实现: ...

  2. android的xml登录,Android----xml文件中的控件的id设置

    Android开放中要想得到布局文件中控件的引用,该控件必须设置id属性,这两有两种方式设置id:(1)@+id/xxxx;(2)@id/xxxx;下面做个简单的介绍.@+id/xxx:如果R文件中没 ...

  3. 苹果开发者账号注册第一步,Apple ID 的双重认证,为 Apple ID 设置双重认证

    苹果开发者账号注册第一步,Apple ID 的双重认证,为 Apple ID 设置双重认证 https://support.apple.com/zh-cn/HT204915 有苹果电脑就可以 在装有 ...

  4. 如何在Mac上为 Apple ID 设置双重认证?

    双重认证是为 Apple ID 提供的一层额外安全保护,旨在确保只有您可以访问自己的帐户,即使其他人知道您的密码也无法访问.那我们如何在Mac上为 Apple ID 设置双重认证呢?一起来看看吧! 具 ...

  5. 【已解决】iphone和mac的备忘录、提醒事项、日历等无法同步。MacBook点击“更新Apple ID 设置”无反应。

    iphone和mac的备忘录.提醒事项.日历等无法同步. 1. iCloud官网可以正常登录 2.App Store也可以正常登录 3.但是系统偏好设置中的Apple ID一直提示"更新Ap ...

  6. Electron教程(六)应用菜单设置例子

    Electron教程(六)应用菜单设置例子 Electron教程(一)什么是 Electron,由来.适用场景 和 Electron 的环境搭建 Electron教程(二)启动过程:主进程,渲染进程是 ...

  7. 关于MySql中自增长id设置初始值

    在MySQL数据库,设置了id为自增长类型,但由于程序还处于开发阶段,很容易的会产生错误数据,然后就直接删除了,可是id的自增长值没有跟着减少,这里提示: 如果表中数据没有用,直接删除了数据,自动增长 ...

  8. DBeaver 给id设置为键 以及执行sql查询语句

    一.设置键 可以看到在information表中,设置id为主键. 步骤: 1.点到 约束 => 右键后 新建约束 2.点击id这个字段 => 确定 二.执行sql查询语句 目标 : 查询 ...

  9. MySQL 如何让自增id设置为从1开始

    一般开发过程中,会产生很多测试数据,如果需要清理历史数据,并让自增id 继续从1开始计数,该如何操作呢? 提供如下3 种方式: 方式1 通过 MySQL 的客户端工具(比如:Navicat) 1.选择 ...

  10. html通过id设置css样式,JavaScript修改style,id,class等css属性样式方法总结

    JavaScript允许你即时的改变CSS样式,这样就可以将用户的眼球吸引到你想他们关注的地方上,并且提供较好的交互体验给力 . JavaScript修改CSS有4种方法: 修改节点style(内联样 ...

最新文章

  1. Python中的urllib.quote和Go中的url.QueryEscape关系探讨
  2. python输出print(x+y)_Python语句序列“x='car';y=2; print(x+y)”的输出结果是_学小易找答案...
  3. CentOS6.5 安装SVN 及http访问
  4. jqueryIFrame框架内元素操作
  5. Cisco IPSec *** Gre over --- SVTI
  6. C#中泛型类型约束条件
  7. 浅谈TCP优化(转)
  8. 使用IIS 7.0 Smooth Streaming 优化视频服务
  9. RuntimeError: view size is not compatible with input tensor‘s size and stride
  10. image是否有disabled属性_8、背景属性
  11. 阳振坤:OceanBase 数据库七亿 tpmC 的关键技术
  12. 图片加文字用什么软件?推荐这三款软件给你
  13. Android卡通农场闪退,卡通农场闪退解决办法
  14. 松耦合(Loose coupling)笔记
  15. Linux就业形势报告
  16. 服务端与客户端加密解密思路
  17. 织梦教程:DEDEcms还原数据后后台乱码
  18. 纯 html 实现一个简单的个人简历
  19. HDOJ 1495非常可乐
  20. Spring注解驱动开发-扩展原理之005-Spring容器刷新第五步-invokeBeanFactoryPostProcessors(beanFactory)

热门文章

  1. 2020年最全Python常用爬虫代码就这些了(附爬虫教程)
  2. 标签打印软件如何制作图文标签
  3. 昼夜双色导航主题模板 WordPress导航模板
  4. 【R语言】如何直接调取Wind、iFinD数据接口教程
  5. android fake gps,假GPS定位(Fake GPS Position) v4.5 安卓版
  6. 计算机科学导论的学习
  7. Vue实现仿豆瓣电影
  8. python反编译软件下载_python批量反编译软件
  9. RTSP视频流直播实现(海康)
  10. Java游戏开发 —— 俄罗斯方块