咿呀 发表于 2024-4-15 09:32:09

STM32F407和LAN9252搭建的EtherCAT从站程序发现会偶尔卡死

本帖最后由 咿呀 于 2024-4-15 09:39 编辑

使用STM32F407和LAN9252通过SPI通信搭建的EtherCAT从站设备,初始化和从站设备状态转换至OP状态,在运行过程中或者是网线连接出现热插拔时有几率出现卡死在以下函数部分,通过debug打印数据都是00;


中的

部分。
系统使用的是rtthread。
SPI通信部分代码如下:

按理说这里应该是可以不需要做保护的,应该协议栈在进行读写的时候已经进行的关闭和打开中断,经测试,在出现问题是SPI的HAL通信也并未报错,同时也将SPI通信速度降低过,也并未降低出现问题的概率。

eric2013 发表于 2024-4-16 08:25:24

网线插拔后出问题是正常的。

正常运行的时候也有出问题,这个不正常。估计是程序设计那里有点问题。

咿呀 发表于 2024-4-16 09:01:27

eric2013 发表于 2024-4-16 08:25
网线插拔后出问题是正常的。

正常运行的时候也有出问题,这个不正常。估计是程序设计那里有点问题。

大佬,这个网线拔出和再插入出现问题是应为LAN9252这个片子的什么特性嘛

eric2013 发表于 2024-4-17 07:55:14

咿呀 发表于 2024-4-16 09:01
大佬,这个网线拔出和再插入出现问题是应为LAN9252这个片子的什么特性嘛

网线插拔要专门处理才行

【实战经验分享】一劳永逸的解决网线随意热插拔问题
https://www.armbbs.cn/forum.php?mod=viewthread&tid=95386&fromuid=58
(出处: 硬汉嵌入式论坛)
页: [1]
查看完整版本: STM32F407和LAN9252搭建的EtherCAT从站程序发现会偶尔卡死