打印

28035CAN邮箱如何设置ID可以接收任何ID的报文

[复制链接]
9989|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
fengyefeng|  楼主 | 2014-2-21 21:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    请教,如题,如何设置屏蔽位,可以使邮箱可以接收任何ID的数据,自己看了PDF,里面说的几个位都设置了,不成功,
        ECanaRegs.CANGAM.bit.AMI=1;                                //标准帧和扩展帧都可以接收
        ECanaRegs.CANGAM.bit.GAM150=0xffff;
        ECanaRegs.CANGAM.bit.GAM2816=0xffff;
        ECanaLAMRegs.LAM1.bit.LAMI=1;
        ECanaLAMRegs.LAM1.bit.LAM_H=0xffff;
        ECanaLAMRegs.LAM1.bit.LAM_L=0xffff;
这里我设置的是邮箱1为接收邮箱,我想通过邮箱1接收任何ID的报文,新手,旁边也没有人交流,所以问题较多也较简单,还请各位多指导一下

相关帖子

沙发
zhangmangui| | 2014-2-23 00:23 | 只看该作者
280xx的CAN使用问题  使用过帮忙解答一下

使用特权

评论回复
板凳
Tog| | 2014-2-23 10:47 | 只看该作者
就是设置成广播式的吧!俺不会,嘿嘿……不过我以前用周立功的usbCAN接受模块的时候,他上面是广播式的!明天回去看看,找到了再说!

使用特权

评论回复
地板
fengyefeng|  楼主 | 2014-2-24 17:54 | 只看该作者
OK了,谢谢各位

使用特权

评论回复
5
qq782611370| | 2014-10-16 18:39 | 只看该作者
楼主怎么解决的?、分享下啊 ,我也遇到这种情况。。。只能收到一个ID的数据

使用特权

评论回复
6
霜刀雪剑| | 2014-10-17 22:40 | 只看该作者
不知道楼主 MSGID寄存器的接收屏蔽位(AME)有没有使能,如果没有使能尽管设置了局部接收屏蔽寄存器,标识符也是要逐一比较的。

使用特权

评论回复
7
fengyefeng|  楼主 | 2014-10-30 19:54 | 只看该作者
ECanaLAMRegs.LAM0.all = 0xFFFFFFFF;                        //本地屏蔽
        ECanaLAMRegs.LAM1.all = 0xFFFFFFFF;

使用特权

评论回复
8
hxi2004| | 2015-7-25 16:08 | 只看该作者
我刚好要用到这一功能,应该是按楼主的设置,加上把邮箱ID(MSGID)的AME设置为1就行了。
CANGAM设置的是全局的,比如本机的站号必须一致,对应的位就要设置为0
LAMn是设置对应邮箱号的,比如邮箱0用来接收所有站点的温度信息,站点是可变的,对应的位设置为1,

使用特权

评论回复
9
keman| | 2015-7-25 19:15 | 只看该作者
楼主怎么解决的?

使用特权

评论回复
10
冰河w| | 2015-7-26 14:19 | 只看该作者
CANGAM设置的是全局的,LAMn是设置对应邮箱号的

使用特权

评论回复
11
xialunde1| | 2018-9-8 10:03 | 只看该作者
Tog 发表于 2014-2-23 10:47
就是设置成广播式的吧!俺不会,嘿嘿……不过我以前用周立功的usbCAN接受模块的时候,他上面是广播式的!明 ...

请问周立功的USBCAN接收模块的帧ID是不是和28335CAN邮箱接收寄存器的ID不一样啊,当我把周立功的CAN接收模块的ID设置成0X95555555提示超了,然后自动变成了0x00000555

使用特权

评论回复
12
Tog| | 2018-9-14 12:38 | 只看该作者
xialunde1 发表于 2018-9-8 10:03
请问周立功的USBCAN接收模块的帧ID是不是和28335CAN邮箱接收寄存器的ID不一样啊,当我把周立功的CAN接收 ...

被挖坟了啊!哈哈!周立功的USBCAN作为接收方的话,设置成广播模式,它会收到总线上的所有的ID的信息。用USBCAN作为发送器的时候才需要设置它的帧ID的,这时候需要跟28335的接受寄存器的ID相同了,负责28335收不到信息的。我认为是这样的。

使用特权

评论回复
13
K252835| | 2020-5-18 14:59 | 只看该作者
fengyefeng 发表于 2014-10-30 19:54
ECanaLAMRegs.LAM0.all = 0xFFFFFFFF;                        //本地屏蔽
        ECanaLAMRegs.LAM1.all = 0xFFFFFFFF;

请问楼主我也是加了这两句,的确可以收到任意ID的数据了。但是读取的帧ID一直是40040000不知道您有没有碰到过

使用特权

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

本版积分规则

21

主题

87

帖子

1

粉丝