TI中文支持网
TI专业的中文技术问题搜集分享网站

CAN 接收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吗?

 

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是什么,能查看吗,在哪里查看呢

赞(0)
未经允许不得转载:TI中文支持网 » CAN 接收ID的问题
分享到: 更多 (0)