(1)BOX16~31 配置为接收
(2)使用过滤器
for(i=16;i<=31;i++)
{
Mailbox = &ECanaMboxes.MBOX0 + i;
Mailbox->MSGID.all=0x40000000;
}
(3)接收所有的ID
for(i=16;i<=31;i++)
{
LAM=&ECanaLAMRegs.LAM0+i;
LAM->all=0xFFFFFFFF;
}
(4) 自发自收模式
ECanaShadow.CANMC.all = ECanaRegs.CANMC.all;
ECanaShadow.CANMC.bit.STM = 1; ECanaRegs.CANMC.all = ECanaShadow.CANMC.all;
(5)我用BOX1发送
ID: 0x01555555
MDH=0X12345678
MDL=0X87654321
在BOX31中可以接收到数据
BOX31.MDH=0X12345678
BOX31.MDL=0X87654321
但是 BOX31的ID是0x40000000;
是什么回事。
BOX31的ID不应该等于BOX1的ID吗?
Victor Zheng:
您好
mailbox31里的ID是你设的过滤值,不会是收到的报文的ID。
(1)BOX16~31 配置为接收
(2)使用过滤器
for(i=16;i<=31;i++)
{
Mailbox = &ECanaMboxes.MBOX0 + i;
Mailbox->MSGID.all=0x40000000;
}
(3)接收所有的ID
for(i=16;i<=31;i++)
{
LAM=&ECanaLAMRegs.LAM0+i;
LAM->all=0xFFFFFFFF;
}
(4) 自发自收模式
ECanaShadow.CANMC.all = ECanaRegs.CANMC.all;
ECanaShadow.CANMC.bit.STM = 1; ECanaRegs.CANMC.all = ECanaShadow.CANMC.all;
(5)我用BOX1发送
ID: 0x01555555
MDH=0X12345678
MDL=0X87654321
在BOX31中可以接收到数据
BOX31.MDH=0X12345678
BOX31.MDL=0X87654321
但是 BOX31的ID是0x40000000;
是什么回事。
BOX31的ID不应该等于BOX1的ID吗?
guofeng lin:
回复 Victor Zheng:
我想知道接收到的ID是什么,能查看吗,在哪里查看呢
TI中文支持网




