你(们)好
以下是我们的客户 TM4C123GE6PZ CAN 总线问题、如下图所示、请提供帮助
总线启动时、代码始终发送 ID 为0和 DLC 0的消息。 我们是否有任何方法可以禁用它?
2.是否有用于发送/接收消息的缓冲器? 如果是、这些缓冲器有多大?
3.调用 CAN 函数的速度有多快? 我们如何通过高总线负载来防止运行时错误,例如,我们尝试发送消息,但总线正忙。 在这种情况下、消息会稍后发送还是会被忽略?
谢谢、
Andy
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 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 模块能够发送它。 在重新装载报文对象之前、软件应该检查之前的报文是否已经成功完成发送。