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.

[参考译文] PROCESSOR-SDK-J721S2:有关 CAN 邮箱的问题

Guru**** 2540720 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1354828/processor-sdk-j721s2-question-about-can-mailbox

器件型号:PROCESSOR-SDK-J721S2

您好!  

内核 mcu1_0   SDK:8.6.1.3

j721s2上有32个 CAN 发送邮箱。 现在我们想在填充邮箱前确定邮箱是忙还是空闲。 但是、在读取相关代码和寄存器后、我不确定使用哪个寄存器或功能接口来读取邮箱的状态。 SDK 中是否有任何功能接口可以读取发送邮箱的状态? 或者、请告诉我使用哪个寄存器来读取邮箱状态。 谢谢!

我在调用 can_write 函数之前和之后尝试了 MCAN_TXBAR 寄存器、但发现读出的值全部为0。

此外、我在写入1后立即读取 MCAN_TXBAR 寄存器、发现读出的值也为0。 我不确定这是否是因为邮箱此时已空闲、所以我需要确定如何获得邮箱状态

此致

宾县

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

    您好,Bingxian:

    您要求它提供 MCAL 或 PDK?

    此致

    M·塔伦

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

    尊敬的 Tarun Mukesh

    我们使用 MCAL、但我们的代码架构从 SDK7.3移植、因此 PDK 中使用了某些函数。 例如、MCAN_txBufAddReq 函数使用 PDK

    此致

    宾县

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

    您好,Bingxian:

    TXBRP (发送缓冲区请求挂起)寄存器:此寄存器可以指示出某个发送缓冲区是否有挂起的发送请求。 如果与一个特定邮箱相对应的位被设置、这可能意味着该邮箱正忙、有一个发送请求被挂起。

    关于 TXBAR,写入1h 将设置相应的 ADD 请求位;写入0h 没有影响。 这使得主机 CPU 可以为多个 Tx 缓冲器设置传输请求、同时对 MCAN_TXBAR 寄存器进行一次写入。 MCAN_TXBAR 位仅针对通过 MCAN_TXBC 寄存器配置的那些 Tx 缓冲器进行设置。 当未运行 Tx 扫描时、立即复位、否则这些位保持设置状态、直到 Tx 扫描过程完成。

    此致

    M·塔伦