硬件资料
工程下载
实现步骤
W5500支持用户同时使用8个硬件Socket独立通讯,本章主要讲述如何使W5500EVB打开8个Socket并配置为TCP客户端。
当W5500初始化完成后,进入程序主循环,通过添加一个for循环,多次调用getSn_SR (SocketId)来读取Socket n的状态值,在SOCKET_CLOED状态下初始化socket为TCP模式,即Sn_MR_TCP。当i=0时,读取的是Socket0状态,以socket0为例,socket0首先会进入SOCK_CLOSED状态,此时打开socket0,并配置为TCP 模式,打开一个本地端口,然后socket0将处于SOCK_INIT状态。 此时,作为TCP客户端,就要调用connect()函数连接远程服务器。待TCP连接的3次握手完成后,socket0的状态将会转变为SOCK_ESTABLISHED状态。在进入SOCK_ESTABLISHED状态后,便可进行数据收发。
测试步骤
- 配置代码中W5500的IP地址,使之与远程电脑端的IP位于同一网段内;
- 对代码进行编译,之后将程序烧录到W5500EVB开发板;
- 连接好网线,USB串口线,打开串口调试工具,复位W5500EVB开发板,打印信息如图1所示;
- PC作为服务器,W5500作为客户端连接服务器。程序中可以设置多个端口号,通过PC监听端口号的不同来判别连的是哪个Socket,本次PC作为服务器的监听端口号为5000、6000。添加无误以后点击开始监听;
- 然后通过发送数据可以验证是否成功建立连接并通讯。