首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CANopenNode:主节点不断发送一条消息

CANopenNode:主节点不断发送一条消息
EN

Stack Overflow用户
提问于 2022-07-14 10:31:07
回答 2查看 101关注 0票数 0

我试图通过使用libohiboard作为HAL库将CANopenNode应用到STM32L476设备中。在网络中,我有:(i)我的主板,(ii)一个商业节点。在启动时,节点发送HB消息和同步消息。当我的董事会使用CO_NMT_sendCommand(CO->NMT,CO_NMT_ENTER_OPERATIONAL, 0x0A);时,主程序开始连续地发送相同的消息,而不停止!

使用逻辑分析器,我可以看到以下内容:

其中通道0是微控制器的TX引脚,通道1是RX引脚。

我不明白为什么消息立即返回到RX引脚!我检查了微控制器的配置,环回模式关闭了。

谢谢

EN

回答 2

Stack Overflow用户

发布于 2022-07-14 12:37:30

看起来像正常的CAN操作-所有消息都会在发送时立即回显,否则总线仲裁就无法工作。唯一的区别是在rx行上设置的ACK位,而不是tx上的ACK位。此位由总线上的另一个CAN节点填充。

您的节点一直发送相同消息的原因似乎与此无关。

票数 0
EN

Stack Overflow用户

发布于 2022-08-20 04:48:58

我不知道它在控制器上是如何工作的,但通常只有当从节点不返回任何心跳或心跳值与预期的模式不同时(例如,预操作或操作),您才需要注意发送NMT_start_command。

如果奴隶不返回任何东西,可能有多种原因:

  • nothing已激活,因此您必须首先使用正确的SDO
  • 来设置时间,从节点使用的是节点而不是心跳,因此您必须首先使用消息ID: 0x700 +节点ID,DLC: 0

查询从节点。

如果不清楚或没有帮助,请告诉我

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72979085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档