OpenEdv-开源电子网

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

CAN列表模式问题求解?

[复制链接]

2

主题

90

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1107
金钱
1107
注册时间
2014-8-9
在线时间
192 小时
发表于 2016-8-19 17:16:17 | 显示全部楼层 |阅读模式
5金钱
       我看了很多的帖子,遇到一个问题,就是CAN通信的时候,在屏蔽位模式下,按照原子的设置(所有的都接收),是可以接收到CAN分析仪发的报文的;
但是我自己设置为列表模式(32bit),也就是发送的报文与FxR1或者FxR2其中之一相同就可以接收,反之则舍弃掉!
现在我的设置如下:
CAN_FilterInitStructure.CAN_FilterNumber=0; //过滤器0/
// CAN_FilterInitStructure.CAN_FilterMode=CAN_FilterMode_IdMask;  //屏蔽位模式
CAN_FilterInitStructure.CAN_FilterMode=CAN_FilterMode_IdList;  //列表模式
CAN_FilterInitStructure.CAN_FilterScale=CAN_FilterScale_32bit;  //32位宽
CAN_FilterInitStructure.CAN_FilterIdHigh=0x0100; //32位ID
CAN_FilterInitStructure.CAN_FilterIdLow=0x0000;
CAN_FilterInitStructure.CAN_FilterMaskIdHigh=0x0200;//32位MASK
CAN_FilterInitStructure.CAN_FilterMaskIdLow=0x0000;
CAN_FilterInitStructure.CAN_FilterFIFOAssignment=CAN_Filter_FIFO0;//过滤器0关联到FIFO0
CAN_FilterInitStructure.CAN_FilterActivation=ENABLE;//激活过滤器0
CAN_FilterInit(&CAN_FilterInitStructure);   //滤波器初始化

我设置CAN分析仪的ID为:



但是CAN分析仪发送的数据,战舰开发板收不到;战舰发送的数据CAN分析仪可以接收到(通信正常),我按照自己理解的滤波器这块,整不出答案,请大神帮忙解答一下!

CAN分析仪

CAN分析仪

最佳答案

查看完整内容[请看2#楼]

已解决,原来ID是左对齐!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

90

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1107
金钱
1107
注册时间
2014-8-9
在线时间
192 小时
 楼主| 发表于 2016-8-19 17:16:18 | 显示全部楼层
已解决,原来ID是左对齐!
回复

使用道具 举报

42

主题

297

帖子

0

精华

高级会员

Rank: 4

积分
994
金钱
994
注册时间
2016-7-22
在线时间
318 小时
发表于 2017-2-23 16:59:44 | 显示全部楼层
请问软件当中的 接收端的帧ID=0x12,在程序当中是哪里配置的,原子的例程里也没看到呢?
回复

使用道具 举报

2

主题

90

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1107
金钱
1107
注册时间
2014-8-9
在线时间
192 小时
 楼主| 发表于 2017-2-24 08:42:08 | 显示全部楼层
hi我歌月徘徊 发表于 2017-2-23 16:59
请问软件当中的 接收端的帧ID=0x12,在程序当中是哪里配置的,原子的例程里也没看到呢?

在函数Can_Send_Msg()  这里面定义的ID  你可以去看看
回复

使用道具 举报

42

主题

297

帖子

0

精华

高级会员

Rank: 4

积分
994
金钱
994
注册时间
2016-7-22
在线时间
318 小时
发表于 2017-2-25 09:09:12 | 显示全部楼层
wx389390063 发表于 2017-2-24 08:42
在函数Can_Send_Msg()  这里面定义的ID  你可以去看看

多谢 这个在多机通讯的时候 可以理解为从机的地址吧
回复

使用道具 举报

2

主题

90

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1107
金钱
1107
注册时间
2014-8-9
在线时间
192 小时
 楼主| 发表于 2017-2-27 10:11:37 | 显示全部楼层
hi我歌月徘徊 发表于 2017-2-25 09:09
多谢 这个在多机通讯的时候 可以理解为从机的地址吧

http://www.openedv.com/thread-89611-1-1.html   讲解的很好,可以去看看
回复

使用道具 举报

42

主题

297

帖子

0

精华

高级会员

Rank: 4

积分
994
金钱
994
注册时间
2016-7-22
在线时间
318 小时
发表于 2017-2-28 12:09:33 | 显示全部楼层
嗯嗯  多谢  顺便再问一下 左对齐怎么设置的 ?
    CAN1_Handler.pTxMsg->StdId=0xffff>>5;        //标准标识符11
    CAN1_Handler.pTxMsg->ExtId=0;        //扩展标识符(29位)
    CAN1_Handler.pTxMsg->IDE=CAN_ID_STD;    //使用标准帧
    CAN1_Handler.pTxMsg->RTR=CAN_RTR_DATA;  //数据帧
发送了0xffff,但是使用can调试工具收到的id=0x07ff,刚好是高五位被清零了,但是去掉>>5,收到的id还是 07ff,求助

回复

使用道具 举报

42

主题

297

帖子

0

精华

高级会员

Rank: 4

积分
994
金钱
994
注册时间
2016-7-22
在线时间
318 小时
发表于 2017-2-28 17:28:46 | 显示全部楼层
hi我歌月徘徊 发表于 2017-2-28 12:09
嗯嗯  多谢  顺便再问一下 左对齐怎么设置的 ?
    CAN1_Handler.pTxMsg->StdId=0xffff>>5;        // ...

CAN_FilterInitStructure.CAN_FilterIdHigh= (((u32)0x1314<<3)&0xFFFF0000)>>16;    //要过滤的ID高位
    CAN_FilterInitStructure.CAN_FilterIdLow= (((u32)0x1314<<3)|CAN_ID_EXT|CAN_RTR_DATA)&0xFFFF; //要过滤的ID低位

这样的方式解决了
回复

使用道具 举报

0

主题

409

帖子

0

精华

高级会员

Rank: 4

积分
854
金钱
854
注册时间
2017-2-25
在线时间
145 小时
发表于 2017-2-28 18:21:23 | 显示全部楼层
http://openedv.com/forum.php?mod ... ghlight=STM32%2Bcan
看看这个帖子的资料就懂了。
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手上路

积分
22
金钱
22
注册时间
2017-4-9
在线时间
8 小时
发表于 2017-4-9 16:56:50 | 显示全部楼层
楼主,为什么我自己做的板子和can分析仪通信不了,电路板发送数据,分析仪接收不到,但是板子的回环模式可以自发自收,我按照原子的程序改了一下来编程的;还有用开发板连接CAN分析仪,启动设备直接提示启动设备失败,这是什么原因?
回复

使用道具 举报

2

主题

90

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1107
金钱
1107
注册时间
2014-8-9
在线时间
192 小时
 楼主| 发表于 2017-4-10 08:49:48 | 显示全部楼层
渐近的线 发表于 2017-4-9 16:56
楼主,为什么我自己做的板子和can分析仪通信不了,电路板发送数据,分析仪接收不到,但是板子的回环模式可 ...

测试一下分析仪在回环模式下,可以自发自收不?
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手上路

积分
22
金钱
22
注册时间
2017-4-9
在线时间
8 小时
发表于 2017-4-11 09:49:01 | 显示全部楼层
wx389390063 发表于 2017-4-10 08:49
测试一下分析仪在回环模式下,可以自发自收不?

分析仪在回环模式可以自发自收,在正常模式就接受不到板子发出的数据。而且和开发板通信提示启动设备失败,这是什么原因呢,楼主没遇到过吗?
回复

使用道具 举报

2

主题

6

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2017-4-11
在线时间
3 小时
发表于 2017-4-11 14:43:40 | 显示全部楼层
楼主,正确的贴一下吧,在学习
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-8-22 05:33

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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