w5500

SWA2G422&485JK2G基础篇: 硬件使用说明

我是研究僧i 提交于 2019-12-06 05:59:01
开发板板载介绍   一,实物图      硬件说明   一,开发板主控芯片说明:        1. 单片机: STM32RET6     2. GPRS模块: Air202   二,开发板外设说明:     1. 以太网模块: W5500     2. 外设通信接口: 422或者485通信     3. 继电器:两路继电器输出      通信控制说明      一,电脑串口和GPRS下载调试口通信        二,电脑串口和STM32串口1通信        三,422/485和电脑串口通信        四,422/485和STM32串口3通信        五,GPRS串口1和STM32串口2通信        六,GPRS串口1和422/485通信      422/485通信口说明   一,接口说明   A+,A- 作为485通信时的接收和发送数据接口,另作为422通信时的发送数据接口   B+,B- 作为422通信时的接收数据接口      和三菱PLC连接        注:实际上我会给大家一条MD8接口的通信线,实际连接如下:        提示:PLC的422通信口     TxD+,TxD-: 422通信时的发送数据接口     RxD+,RxD-: 422通信时的接收数据接口   所以和开发板的连接为:      RxD+ ---- A+     RxD-

W5500不能热插拔

匿名 (未验证) 提交于 2019-12-03 00:34:01
一种比较笨的方法是在上位机和下位机之间同来设置一个心跳,多长时间后没有心跳了,w5500重启 第二种和第一种差不多,但是简单,只需在w5500寄存器里面改个参数就行,具体参照 https://blog.csdn.net/wiznet2012/article/details/38340375 如需以上图片内容做参考,请点击 https://download.csdn.net/download/fei_yang_yf/10481429 本人用的笨方法解决的热插拔 下位机(STM32)程序 上位机(qt5)程序: //定时器做心跳 myTime = new QTimer(); myTime->setInterval(1000);//1s定时 connect(myTime,SIGNAL(timeout()),this,SLOT(AutoSend())); void MainWindow::AutoSend()//定时器自动发送 { QString str0 = "aa 03 03 ff 05 06 07 bb";//发送心跳 QByteArray sendBuf0 = " "; sendBuf0 = QByteArray::fromHex (str0.toLatin1().data()); tcpSocket->write(sendBuf0); } 具体定时器什么时候开启,关闭要酌情添加

WIZnet芯片的W5500

匿名 (未验证) 提交于 2019-12-02 23:57:01
1 WIZnet芯片正常工作,可以唤醒mcu 2 TCP_Client模式下,断电重启之后无法立即连接到服务器:需要 KEEP_ALIVE机制,一段时间内发送心跳包,收不到则断开重新初始化连接 3 作为TCP服务器,不能是建立一个SOCKET对应多个客户端,而是初始化时建立多有的socket,分别对应多个客户端。 4 MAC地址唯一: A:解决方案: 从IEEE组织申请MAC地址。 B:解决方案: 首先必须保证MAC地址首字节为偶数,其次选取自己产品的MCU ID 序列后5个字节当做MAC地址后5个字节 5 WIZnet芯片和PC通讯的话可以直接通过Wireshark抓包, 公网直接通讯还没有好的工具。 来源:博客园 作者: 杰瑞鼠 链接:https://www.cnblogs.com/jieruishu/p/11442836.html