首页 论坛 原厂专区 ST MCU 【众拳】基于STM8的CAN总线标识符过滤实验 附程序

发帖 回复

[资料] 【众拳】基于STM8的CAN总线标识符过滤实验 附程序
908 查看
4 回复
 楼主 | 发布于 2017-11-29 | 只看楼主
分享到:

实验目的:

通过对CAN过滤器的设置,屏蔽总线上其他无用的报文,只接收自己需要的报文。

标识符过滤模式

● 可变的位宽
  每个过滤器组的位宽都可以独立配置,以满足应用程序的不同需求。根据位宽的不同,每个过滤器组可提供:
  ─  1 个 32 位过滤器,包括:STDID[10:0]/EXTID[28:18]、IDE、EXID[17:0]和 RTR 位;
  ─  2 个 16 位过滤器,包括:STDID[10:0]/EXTID[28:18]、IDE 和 RTR 位;
  ─  4 个 8 位过滤器,包括:STDID[10:3]/EXTID[28:21],其他位可以不用关心;
  ─  1 个 16 位过滤器和 2 个 8 位过滤器,具体的过滤器描述如上16位和8位过滤器描述。

FMLx位定义该寄存器组的低半组(CAN_FxR1-4寄存器)的模式, 
FMHx位定义该寄存器组的高半组(CAN_FxR5-8寄存器)的模式,

32位过滤器组设置


FMHx=0 高位寄存器工作在屏蔽位模式。          FMLx =0 低位寄存器工作在屏蔽位模式。
FMHx=1 高位寄存器工作在标识符列表模式。   FMLx =1 低位寄存器工作在标识符列表模式。

FMLx和FMHx位必须拥有相同的值以确保4个屏蔽位/标识符过滤器位处于相同的模式。

16位过滤器组设置




FMHx=0 高位寄存器工作在屏蔽位模式。          FMLx =0 低位寄存器工作在屏蔽位模式。
FMHx=1 高位寄存器工作在标识符列表模式。   FMLx =1 低位寄存器工作在标识符列表模式。

16/8位过滤器组设置

FMHx=0 高位寄存器工作在屏蔽位模式。          FMLx =0 低位寄存器工作在屏蔽位模式。
FMHx=1 高位寄存器工作在标识符列表模式。   FMLx =1 低位寄存器工作在标识符列表模式。

8位过滤器组设置

FMHx=0 高位寄存器工作在屏蔽位模式。          FMLx =0 低位寄存器工作在屏蔽位模式。
FMHx=1 高位寄存器工作在标识符列表模式。   FMLx =1 低位寄存器工作在标识符列表模式。


【众拳】剑齿虎STM8开发板实验代码下载:




本帖有更多资源,需 登录 才可以下载,没有帐号?立即 注册

(0 ) (0 )
回复 举报

回复于 2018-04-19 沙发

多谢分享!!
(0 )
评论 (0) 举报

回复于 2019-03-13 2#

(0 )
评论 (0) 举报

回复于 2019-03-16 3#

谢谢分享
(0 )
评论 (0) 举报

回复于 2019-03-16 4#

支持下,谢谢分享!
(0 )
评论 (0) 举报
  • 发表回复
    0/3000





    举报

    请选择举报类别

    • 广告垃圾
    • 违规内容
    • 恶意灌水
    • 重复发帖

    全部板块

    返回顶部