AWR1642 DCAN发送不同ID的数据方式。



根据我的理解DCAN的驱动CAN_createMsgObject使用一次只能设置一个ID的发送,要想发送多个不同ID的数据要多次使用CAN_createMsgObject吗?

  • 你好,

    对的,比如如下

    /* Setup the receive message object */
    rxMsgObjectParams.direction = CANFD_Direction_RX;
    rxMsgObjectParams.msgIdType = CANFD_MCANXidType_29_BIT;
    rxMsgObjectParams.msgIdentifier = 0xD1;
    rxMsgObjHandle = CANFD_createMsgObject (canHandle, &rxMsgObjectParams, &errCode);
    if (rxMsgObjHandle == NULL)
    {
    System_printf ("Error: CANFD create Rx message object failed [Error code %d]\n", errCode);
    return ;
    }
    /* Setup the receive message object */
    rxMsgObjectParams.direction = CANFD_Direction_RX;
    rxMsgObjectParams.msgIdType = CANFD_MCANXidType_29_BIT;
    rxMsgObjectParams.msgIdentifier = 0xAABB;
    rxMsgObjHandle2 = CANFD_createMsgObject (canHandle, &rxMsgObjectParams, &errCode);
    if (rxMsgObjHandle2 == NULL)
    {
    System_printf ("Error: CANFD create Rx message object failed [Error code %d]\n", errCode);
    return ;
    }

  • CANFD驱动是用在MCAN上的,我的问题的是DCAN的驱动问题。这两个驱动使用硬件和使用方式不一样。
  • 你好,
    DCAN我没测试过,这是MCAN的处理方式。
    类似处理方式不能用吗?
    谢谢