This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] RTOS/LAUNCHXL2-TMS57012:在一个消息框中扩展 CAN 和标准 CAN-ID

Guru**** 1799640 points
Other Parts Discussed in Thread: HALCOGEN
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/572932/rtos-launchxl2-tms57012-extendend-can-and-standard-can-id-in-one-message-box

器件型号:LAUNCHXL2-TMS57012
主题中讨论的其他器件:HALCOGEN

工具/软件:TI-RTOS

您好!

是否可以在一个消息框中接收包含扩展 ID 和标准 ID 的消息?

谢谢、

BR Peter

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    很抱歉、没有。 只有"XTD"位可以选择扩展或标准、但不能同时在同一邮箱中选择两者。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如何将 CAN 配置为对扩展 CAN 消息使用一个消息框、对标准 CAN 消息使用另一个消息框。

    BR、

    Peter
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Peter:

    很抱歉我不理解这个问题。

    我假设您要求通过 HalCoGen 执行此操作、因为常规选项卡上只有一个用于扩展 ID 的复选框。
    这是问题吗?

    硬件在每个邮箱中有一个'XTD'位来指定邮箱是使用基本寻址方案还是扩展寻址方案。 我无法解释为什么在 HalCoGen GUI 的每个邮箱中这不会显示为一个选项。

    -Anthony
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    静态空 init_ca_device (ca_device_t* hcan){
    uint8_t 邮箱;
    CAN_cmd_iface_t* IFX = CAN_get_IF1 (hcance->instance);
    对于(mailbox = mailbox_count_TX + 1;mailbox <= mailbox_count_total;mailbox++){
    while (((IFX->IFxSTAT & IFxSTAT_BUSY)=IFxSTAT_BUSY){
    };
    IFx->IFxCMD = IFxCMD_WRITE | IFxCMD_MASK | IFxCMD_ARB | IFxCMD_CLR_INT_PND | IFxCMD_CONTROL;
    IFx->IFxMSK = IFxMSK_MDir;
    IFX->IFxARB = IFxARB_MsgVal;
    IFx->IFxMCTL = IFxMCTL_UMASK | IFxMCTL_RxIE;
    if (mailbox = mailbox_count_total){// FIFO 中的最后一个缓冲区*/
    IFX->IFxMCTL |= IFxMCTL_EOB;
    }
    IFX->IFxNO =邮箱;
    }
    canEnableErrorNotification (hcan->instance);
    }
    

    您可以设置 CAN 故障箱以接收任何 CAN 消息。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的回答。 我通过将 MXtb 位设置为零来解决了我的问题。

    CANREG3->IF1MSK = 0x00000000; 

    现在、我收到每条消息的通知。

    BR Peter