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.

[参考译文] TM4C123GE6PZ:TM4C123GE6PZ CAN 总线问题

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/941893/tm4c123ge6pz-tm4c123ge6pz-can-bus-questions

器件型号:TM4C123GE6PZ

你(们)好  

以下是我们的客户 TM4C123GE6PZ CAN 总线问题、如下图所示、请提供帮助

总线启动时、代码始终发送 ID 为0和 DLC 0的消息。 我们是否有任何方法可以禁用它?
2.是否有用于发送/接收消息的缓冲器? 如果是、这些缓冲器有多大?
3.调用 CAN 函数的速度有多快? 我们如何通过高总线负载来防止运行时错误,例如,我们尝试发送消息,但总线正忙。 在这种情况下、消息会稍后发送还是会被忽略?

谢谢、

Andy

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

    [引用 user="Andy918"]1. 总线启动时、代码始终发送 ID 为0和 DLC 0的消息。 我们是否有任何方法可以禁用它?
    [/报价]

    这不是由 CAN 模块本身引起的。 这可能是软件问题。

    [引用用户="Andy918"]2. 是否有用于发送/接收消息的缓冲器? 如果是、这些缓冲区有多大?

    有32个消息对象。 每个报文对象可以保存一条 CAN 报文。 它可以是要发送的消息、也可以是接收到的消息的放置位置。 可以为具有相同仲裁 ID 的接收报文保留多个报文对象、但在这种情况下、您不能始终先知道哪个报文被接收。

    [引用用户="Andy918"]3. CAN 函数的调用速度有多快? 我们如何通过高总线负载来防止运行时错误,例如,我们尝试发送消息,但总线正忙。 在这种情况下、消息会稍后发送还是会被忽略?

    我不确定我是否理解这个问题。 为了发送而加载的报文对象将保持在该对象中、直到 CAN 模块能够发送它。 在重新装载报文对象之前、软件应该检查之前的报文是否已经成功完成发送。