完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在我们公司,有许多卡都使用英飞凌处理器 XMC4500。
当我们用 TCP 通信与他们交流时 我们会遇到同样的问题,而且在所有的卡上都会重复出现。 系统概述: 每个系统都有几块配备 XMC4500 处理器的板卡、 我们每秒向所有卡发送一次命令(通过 TCP),然后等待回复。 系统本应全天候运行,但现在的情况是,几天后(平均 2、3 天),与卡的通信就会停止,只有重置卡才能恢复活动。 当通信停止时,您将无法向特定端口发送请求,但当您发送 ping 请求时,它却能正常工作。 处理器继续运行,TCP 通信停止。 ETH_LWIP 应用程序的设置与您的示例相同。 您知道造成这一问题的原因以及如何解决吗? 这对我们非常重要。 |
|
相关推荐
1个回答
|
|
根据您提供的信息,我将尝试分析可能导致 XMC4500 TCP通信停止的原因,并提出一些建议。
1. 内存泄漏:在 TCP 通信过程中,如果存在内存泄漏问题,随着时间的推移,系统可用内存将逐渐减少,最终可能导致 TCP 通信停止。建议检查代码,确保正确管理内存分配和释放。 2. 网络拥塞:如果网络中存在大量数据包,可能导致网络拥塞,从而影响 TCP 通信。建议监控网络流量,确保网络畅通。 3. TCP 连接超时:TCP 连接可能因为长时间没有数据传输而超时。建议检查 TCP 连接的超时设置,确保它们适合您的应用场景。 4. 软件错误:可能存在软件错误,导致 TCP 通信停止。建议检查 ETH_LWIP 应用程序的设置和代码,确保它们正确无误。 5. 硬件问题:虽然 ping 请求可以正常工作,但硬件问题仍然可能导致 TCP 通信停止。建议检查网络硬件设备,如交换机、路由器等,确保它们正常工作。 6. 电源问题:电源不稳定可能导致处理器或网络硬件出现问题,从而影响 TCP 通信。建议检查电源供应,确保它们稳定可靠。 为了解决这个问题,您可以尝试以下步骤: 1. 检查代码,确保内存管理正确。 2. 监控网络流量,确保网络畅通。 3. 检查 TCP 连接的超时设置,确保它们适合您的应用场景。 4. 检查 ETH_LWIP 应用程序的设置和代码,确保它们正确无误。 5. 检查网络硬件设备,如交换机、路由器等,确保它们正常工作。 6. 检查电源供应,确保它们稳定可靠。 希望这些建议能帮助您找到问题的原因并解决它。 |
|
|
|
只有小组成员才能发言,加入小组>>
请教个XMC1404调试串口接收时为什么一直无法接收数据的问题
360 浏览 0 评论
TLE9879_BLDC电机启动需要用手拨一下才能转动,怎么解决?
6255 浏览 2 评论
4104 浏览 9 评论
请问TLE5012B_E1000 启动后为什么位置不能正确获取
3630 浏览 9 评论
1230 浏览 8 评论
457浏览 2评论
270浏览 2评论
376浏览 2评论
TLE9879_BLDC电机启动需要用手拨一下才能转动,怎么解决?
6263浏览 2评论
如果是打开已有的dave工程,怎么查看这个工程选择的mcu型号?
456浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 04:34 , Processed in 0.723402 second(s), Total 81, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号