• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

使用TCP协议上下位机每次连接需要重启电路板如何解决?

蓝蓝的天 2019-05-05 浏览量:1144
我项目中用到网口,原来用UDP协议,后来有问题解决不了,
改为TCP协议,可是还是有问题。
就是每次下位机和上位机连接,都必须重启下位机。
请问高手,如何解决?谢谢!
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 我想最重要的是先看是哪方先发起的连接吧,如果是下位机发起连接,那么可以考虑增加一个超时的函数,当没有回应时发起重连。

    如果是上位机发起连接,可以考虑下位机进行一个循环,执行过程中断开,则再次进入等待。

    • 发布于 2019-05-05
    • 举报
    • 评论 0
    • 1
    • 0

其他答案 数量:3
  • tcp是需要断开连接的,如果断电不断开默认还是属于连接状态,所以你需要用tcp超时断开功能,下次才可以连接
    • 发布于2019-05-05
    • 举报
    • 评论 1
    • 0
    • 0
蓝蓝的天 回复了 yhj416606438 :谢谢!超时断开?多长时间呢?你能不能详细说一下。 回复

  • 根据TCP/IP的通信机制,是需要将上位机与下位机同步通讯的,它不同于UDP面向非连接方式。
    • 发布于2019-05-05
    • 举报
    • 评论 0
    • 0
    • 0

  • 这种应该是硬件上面没有检测到网线插入这个动作,首先排查硬件,看一下在插入网线的时候,那个以太网PHY芯片是否有相关的中断信号,然后软件上面是否能识别到这个中断并进行相关的动作

    一般在STM32上面会用那个LWIP实现TCP/IP协议的,这个LWIP并没有重启硬件的要求

    • 发布于2019-05-05
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

使用TCP协议上下位机每次连接需要重启电路板如何解决?