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.

[参考译文] TMS320F28P650DK:MCAN 如何从 CAN 总线关闭状态恢复

Guru**** 2562340 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1424602/tms320f28p650dk-how-the-mcan-recovers-from-a-can-bus-off-status

器件型号:TMS320F28P650DK
Thread 中讨论的其他器件:C2000WARE

工具与软件:

MCAN 如何从 CAN 总线关闭状态恢复

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

    您好、Jinlong:

    请参阅我的常见问题解答:

    (+)[常见问题解答] TMS320F28P559SJ-Q1:从 CAN 总线关闭中恢复的过程- C2000微控制器论坛- C2000 ︎ 微控制器- TI E2E 支持论坛

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

    尊敬的 Wang:

     我不知道如何验证总线关闭是否已恢复并清除 CCCR.INIT?

    MCAN_getProtocolStatus (MCANA_DRIVER_BASE 及 ProtocolStatus);

    如果 ProtocolStatus.lastErrCode 的值不是0或7至7、则表示总线关闭已恢复。

    对吗?

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

    您好、Jinlong:

    当 INIT 位(CCCR. INIT) 被您的代码清除、然后 MCAN 模块将等待129次出现总线空闲(129 × 11个连续隐性位)、然后再恢复正常运行。  

    总线恢复后、总线关闭标志被清除、并且 TX 错误计数器也被复位。

    LEC 可能为5。 每次 监测到包含11个隐性位的序列时、都会将一个 Bit0错误代码写入错误和状态寄存器。

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

    有关您的常见问题解答:"在重置 CCCR 之前、 INIT 位、应用软件需要清除所有待处理的消息和 CAN TX 状态"-在 TMS320F28P55x 数据表的哪里可以找到此要求?

    在哪里可以找到函数 CanCancelPendingMsg()? 它似乎未包括在 C2000Ware 5.x 中

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在哪里可以找到函数 CanCancelPendingMsg ()? 它似乎未包含在 C2000Ware 5.x 中。

    我们只是注意到 C2xWare 中的 MCAN 驱动程序没有此功能。 可以向 TXBCR 寄存器的相应位写入"1"来取消挂起的 TX 缓冲区。

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

    C2000WARE 中的 API 名称为  MCAN_txBufCancellationReq (..)

    int32_t MCAN_txBufCancellationReq (uint32_t baseAddr、uint32_t buffNum)

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

    好的、谢谢!