OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2886|回复: 3

stm32f103 can filter 过滤器配置不成功

[复制链接]

3

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2014-11-13
在线时间
2 小时
发表于 2017-9-28 16:20:00 | 显示全部楼层 |阅读模式
5金钱
我想不是本地地址的数据就不接收。使用CAN扩展帧发送接收数据,13~21位存放地址。但是按照下面配置接收不到数据,如果使用注释掉的方法,就可以接收到数据,再软件判断13~21。
static void canFilterConfig()
{
    CAN_FilterInitTypeDef  CAN_FilterInitStructure;

    /* CAN filter init */
    CAN_FilterInitStructure.CAN_FilterNumber = 0;
    CAN_FilterInitStructure.CAN_FilterMode = CAN_FilterMode_IdMask;
    CAN_FilterInitStructure.CAN_FilterScale = CAN_FilterScale_32bit;

    CAN_FilterInitStructure.CAN_FilterIdHigh = (canDriver.localAddress >> 3) & 0x001F;
    CAN_FilterInitStructure.CAN_FilterIdLow = (canDriver.localAddress << 13) & 0xE000;
    CAN_FilterInitStructure.CAN_FilterMaskIdHigh = 0x001F;
    CAN_FilterInitStructure.CAN_FilterMaskIdLow = 0xE000;

    // CAN_FilterInitStructure.CAN_FilterIdHigh = 0x00;
    // CAN_FilterInitStructure.CAN_FilterIdLow = 0x00;
    // CAN_FilterInitStructure.CAN_FilterMaskIdHigh = 0x00;
    // CAN_FilterInitStructure.CAN_FilterMaskIdLow = 0x00;

    CAN_FilterInitStructure.CAN_FilterFIFOAssignment = CAN_Filter_FIFO0;
    CAN_FilterInitStructure.CAN_FilterActivation = ENABLE;
    CAN_FilterInit(&CAN_FilterInitStructure);
}

最佳答案

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

19

主题

246

帖子

0

精华

高级会员

Rank: 4

积分
608
金钱
608
注册时间
2017-9-21
在线时间
171 小时
发表于 2017-9-28 16:20:01 | 显示全部楼层
回复

使用道具 举报

3

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2014-11-13
在线时间
2 小时
 楼主| 发表于 2017-9-29 13:24:46 | 显示全部楼层
已经解决了。要往左多移3位,最后三位是 IDE,RTR,0。
回复

使用道具 举报

0

主题

409

帖子

0

精华

高级会员

Rank: 4

积分
854
金钱
854
注册时间
2017-2-25
在线时间
145 小时
发表于 2017-9-29 13:40:58 | 显示全部楼层
可以看看这个帖子里面的资料,讲得很详细的。
http://www.openedv.com/forum.php?mod=viewthread&tid=10328
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-19 20:18

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表