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.

[参考译文] TMS320F28379D:用于发送和接收数据的 CAN 总线("Same"CAN 总线的正确方法

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

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1373134/tms320f28379d-proper-methodology-for-the-same-can-bus-to-send-and-recieve-data

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

工具与软件:

专家们、您好!

在 C2000ware 示例 (can_ex3_external_transmit、can_ex4_simple_transmit、can_ex5_simple_receive)中 相同 CAN 总线发送数据或接收数据。 它不能同时做到这两个!!

您有任何这样的示例可以做到这一点吗?我的意思是、同一个 CAN 总线会发送一些数据并接收一些数据。

我之所以提出这个问题、是因为 CAN_setupMessageObject ()被用来在上述示例中发送数据(CAN_MSG_OBJ_TYPE_TX)或接收数据(CAN_MSG_OBJ_TYPE_RX)、并且只能" 一次 '。

我正在计划根据   can_ex3_external_transmit)构建 CAN 驱动器、其中在 IRS 中我会检查传输和接收中断事件。

 如果我想从同一 CAN 总线发送和接收数据、我会对在哪里设置 can_setupMessageObject()感到困惑。

我不知道这是否是正确的方法:但我们可以只设置基于时间的消息对象,例如前100毫秒,设置对象传输,接下来的100毫秒设置消息对象接收...并每100毫秒切换一次(或任何适当的固定时间)?

非常感谢、

AK

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

    AK、

    CAN 为半双工模式。 我在发送数据时无法接收消息。  

    请参阅示例 can_ex2_loopback_interrupt。 CAN 在中断模式中发送和接收消息。

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

    尊敬的 QJ Eang:

    谢谢你的答复,是的,我知道它是半双工,但如果我想从同一个总线发送和接收,什么是正确的方式切换两者?, w.r.t 如何正确地设置 CAN 对象。

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

    PS:感谢  can_ex2_loopback_interrupt 信息,看看这个例子,我现在就让它正常工作了。 非常感谢!

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

    Hi AK、

    您能告诉我您如何在单个节点上设置传输和接收功能吗? 您是否使用了 can_setupMessageObject()两次或以任何其他方式解决了此问题?

    您的见解将会受到赞赏。

    此致
    Yash

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

    您好、

    使用一次 can_setupMessageObject 在 CAN 初始化期间设置发送对象和接收对象。

    然后 在 CAN ISR 中检查 RX、TX 或任何其它状态。

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

    你好

    是的、这些测试已经设置完成、测试并且正在运行。

    但在 确认的情况下、您是否知道我们如何确保我们发送的所有数据都已通过确认消息以任何方式从接收节点成功接收。   

    在确认部分、如果您已工作、请分享。