大家好,最近在做28035的通信调试。
发现在进行如下设置
ECanaMboxes.MBOX30.MSGID.all = CAN_ID_GEAR<<18;
ECanaMboxes.MBOX30.MSGID.bit.IDE = 0;//标准帧
ECanaMboxes.MBOX30.MSGID.bit.AAM = 0;
ECanaMboxes.MBOX30.MSGID.bit.AME = 1; //启用过滤
ECanaLAMRegs.LAM30.bit.LAMI = 1; //标准帧和扩展帧都接收
ECanaLAMRegs.LAM30.bit.LAM_H = CAN_ID_GEAR<<2;//过滤高低位设置
ECanaLAMRegs.LAM30.bit.LAM_L = 0;
接收标准帧的时候,使用上位机模拟发送id3f1,结果信号也会进入邮箱30(邮箱30配置ID实际为3ff),
请教各位 28035的标准帧接收应该怎么配置。
谢谢!
mangui zhang:MSGID寄存器的接收屏蔽位(AME)有没有使能,如果没有使能尽管设置了局部接收屏蔽寄存器,标识符也是要逐一比较的
只有这一个邮箱能收到吗不是广播的方式吧
大家好,最近在做28035的通信调试。
发现在进行如下设置
ECanaMboxes.MBOX30.MSGID.all = CAN_ID_GEAR<<18;
ECanaMboxes.MBOX30.MSGID.bit.IDE = 0;//标准帧
ECanaMboxes.MBOX30.MSGID.bit.AAM = 0;
ECanaMboxes.MBOX30.MSGID.bit.AME = 1; //启用过滤
ECanaLAMRegs.LAM30.bit.LAMI = 1; //标准帧和扩展帧都接收
ECanaLAMRegs.LAM30.bit.LAM_H = CAN_ID_GEAR<<2;//过滤高低位设置
ECanaLAMRegs.LAM30.bit.LAM_L = 0;
接收标准帧的时候,使用上位机模拟发送id3f1,结果信号也会进入邮箱30(邮箱30配置ID实际为3ff),
请教各位 28035的标准帧接收应该怎么配置。
谢谢!
eric shen1:
回复 mangui zhang:
AME使能了,我按如上配置了3个标准帧接收信号,ID分别是0x3f1(邮箱27),0x3ff(邮箱30),0x211(邮箱26),在使用上位机发送的时候,ID为0x3f1的信号和ID为0x3ff的信号都在邮箱30里能接收到,ID为0x211的信号可以在邮箱26收到;把邮箱30配置的ID改为0x2ff,进行测试 发现0x2ff和0x211都跑到了邮箱30里,而邮箱27又能收到0x3f1信号了,觉得应该是寄存器滤波配置有问题,想请教您一下这种一般都什么原因引起的,需要怎么解决,不胜感激!