验收滤波器 文档.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
验收滤波器 文档

? 驱动程序如下: ??? ?驱动程序分为两部分,AF.h为头文件,定义相关的寄存器和宏,AF.c文件中实现验收滤波器的初始化。具体代码如下: /*************************************************/ /*文件名:AF.h 描 述 :CAN验收滤波器相关寄存器定义和相关宏定义*/ /*************************************************/ #define CANAFRAM_ADD (0xE0038000) //验收滤波器RAM首地址 //验收滤波器表格 #define regCANSFF_TAB(i) (*((volatile P_uCANSFF)(CANAFRAM_ADD + i*4))) #define regCANSFF_GRP_TAB(i) (*((volatile P_uCANSFF)(CANAFRAM_ADD+i*4))) #define regCANEFF_TAB(i) (*((volatile P_uCANEFF)(CANAFRAM_ADD + i*4))) #define regCANEFF_GRP_TAB(i) (*((volatile P_uCANEFF)(CANAFRAM_ADD + i*4))) //CAN滤波器标准帧表格数据类型定义 typedef union _cansff_ { unsigned long Word; struct { unsigned long CANSFFID1 :11; unsigned long RSV_BIT1 :1; unsigned long EN_BIT1 :1; unsigned long Num_BIT1 :3; unsigned long CANSFFID2 :11; unsigned long RSV_BIT2 :1; unsigned long EN_BIT2 :1; unsigned long Num_BIT2 :3; }Bits; }uCANSFF,*P_uCANSFF; //CAN滤波器扩展帧表格数据类型定义 typedef union _caneff_ { unsigned long Word; struct { unsigned long CANEFFID1 :29; unsigned long Num_BIT :3; }Bits; }uCANEFF,*P_uCANEFF; ? 验收滤波器初始化设置函数: /******************************************/ /*文件名:AF.c 描 述 :初始化验收滤波器*/ /******************************************/ #include AF.h void Init_CAN_AccFilter(void) { unsigned char i=0; AFMR |=1 //关闭验收滤波器 AFMR |= 11; //使能修改相关寄存器 AFMR = ~(12); //禁止FullCAN模式 /*独立标准帧标识符*/ regCANSFF_TAB(i).Bits.CANSFFID2 = ID0; regCANSFF_TAB(i).Bits.EN_BIT2 = 0; regCANSFF_TAB(i).Bits.Num_BIT2 = 使用的CAN控制器号 regCANSFF_TAB(i).Bits.CANSFFID1 = ID1; regCANSFF_TAB(i).Bits.EN_BIT1 = 0; regCANSFF_TAB(i).Bits.Num_BIT1 = 使用的CAN控制器号; i++; /*组标准帧标识符*/ regCANSFF_GRP_TAB(i).Bits.CANSFFID2 = ID2; regCANSFF_GRP_TAB(i).Bits.EN_BIT2 = 0; regCANSFF_GRP_TAB(i).Bits.Num_BIT2 =使用的 CAN控制器号; regCANSFF_GRP_TAB(i).Bits.CANSFFID1 = ID3; regCANSFF_GRP_TAB(i).Bits.EN_BIT1 = 0; regCA

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档