打印
[ZLG-ARM]

求助:2292的can滤波器设置程序

[复制链接]
1172|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
coollong5|  楼主 | 2008-7-18 14:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求助各位大虾2292cpu的can滤波器设置程序,我自己写了个可是调试发现有问题,通不了,不知道哪里有问题,烦请大虾们出来指点一二。
void Init_CAN_AccFilter(void)
{

       UINT32 i=0;

       CANAFMR.Word |=1;              //关闭验收滤波器
       CANAFMR.Word |= 1<<1;          //使能修改相关寄存器
       CANAFMR.Word &= ~(1<<2);       //禁止FullCAN模式
       CANSFF_sa.Bits.SADR_BIT = 8;
       /*独立标准帧标识符*/
       CANSFF_TAB(i).Bits.CANSFFID2   = 8;
       CANSFF_TAB(i).Bits.EN_BIT2     = 0;
       CANSFF_TAB(i).Bits.Num_BIT2    = 1;//使用的 CAN控制器号;
       CANSFF_TAB(i).Bits.CANSFFID1   = 16;
       CANSFF_TAB(i).Bits.EN_BIT1     = 0;
       CANSFF_TAB(i).Bits.Num_BIT1    = 1;//使用的 CAN控制器号;
       
       i++;
       /*组标准帧标识符*/
       CANSFF_GRP_TAB(i).Bits.CANSFFID2   = 8;
       CANSFF_GRP_TAB(i).Bits.EN_BIT2     = 0;
       CANSFF_GRP_TAB(i).Bits.Num_BIT2    = 1;//使用的 CAN控制器号;
       CANSFF_GRP_TAB(i).Bits.CANSFFID1   = 1;
       CANSFF_GRP_TAB(i).Bits.EN_BIT1     = 0;
       CANSFF_GRP_TAB(i).Bits.Num_BIT1    = 1;//使用的CAN控制器号;

       i++;

       /*独立扩展帧标识符*/
       CANEFF_TAB(i).Bits.CANEFFID1   = 8;
       CANEFF_TAB(i).Bits.Num_BIT     = 1;//使用的CAN控制器号;
       i++;
       CANEFF_TAB(i).Bits.CANEFFID1   = 1;
       CANEFF_TAB(i).Bits.Num_BIT     = 1;//使用的CAN控制器号;
       i++;
       
       /*组扩展帧标识符*/
       CANEFF_GRP_TAB(i).Bits.CANEFFID1   = 8;
       CANEFF_GRP_TAB(i).Bits.Num_BIT     = 1;//使用的 CAN控制器号;

       i++;

       CANEFF_GRP_TAB(i).Bits.CANEFFID1   = 1;
       CANEFF_GRP_TAB(i).Bits.Num_BIT     = 1;//使用的CAN控制器号;

       /*各表格起始地址*/
       CANSFF_sa.Word     = (0x00<<2);
       CANSFF_GRP_sa.Word = (0x01<<2);
       CANEFF_sa.Word      =(0x02<<2);
       CANEFF_GRP_sa.Word = (0x04<<2);
       CANENDofTable.Word = (0x06<<2);
       
       CANAFMR.Word &= ~1;            //打开验收滤波器
       CANAFMR.Word &= ~(1<<1);       //禁止修改相关寄存器*/

}

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝