W5500EVB TCP Client模式设置说明

时间:2021-11-11 12:18:44

W5500EVB是WIZnet为了方便用户更好了解、使用W5500这款网络芯片所开发的评估板,该板採用了
STM32F103RCT6+W5500
的设计。基于 ARM
的 Cortex-M3
平台。那么在实现网络通信的过程中,TCP通信模式为最经常使用,本教程就先为您介绍一下TCP Client模式是如何成功实现的。

一、程序烧录

1. 程序改动

打开IAR Embedded Workbench软件快捷方式,打开TCP Client\app.eww文件。

然后在main.c函数中改动例如以下图1所看到的的两个IP地址,而且确保调试PC的IP地址与改动内容在同一个网段内,否则无法建立连接。当中绿色框内主要设置PC的IP地址,红色框内主要设置W5500-EVB的IP地址。

attachment_id=6472" rel="attachment wp-att-6472" style="margin:0px; padding:0px; border:0px; font-family:inherit; font-size:undefined; font-style:inherit; font-variant:inherit; font-weight:inherit; line-height:inherit; vertical-align:baseline; color:rgb(33,117,155); text-decoration:none">W5500EVB TCP Client模式设置说明

图 1 编译界面

改动正确以后,点击project\make 或者按F7快捷键又一次编译文件。

2. 设置烧录工具

Flash loader Demonstrator 用于为W5500-EVB烧录程序,安装软件会出现如图2所看到的窗体。当mini-USB连接到PC的USB设备时,设备管理器会正确安装USB转串口驱动,Port Name 口会自己主动识别到相应的COM口。

3. 程序下载

如图3所看到的,红色框中。SW7是BOOT0按键,SW6是RESET按键。

按下按键SW7不松开。同一时候点击SW6重新启动EVB板后,松开SW7。进入程序下载模式。

在Flash loader Demonstrator中点击下一步,进入如图4所看到的界面;继续点击下一步出

attachment_id=6473" rel="attachment wp-att-6473" style="margin:0px; padding:0px; border:0px; font-family:inherit; font-size:undefined; font-style:inherit; font-variant:inherit; font-weight:inherit; line-height:inherit; vertical-align:baseline; color:rgb(33,117,155); text-decoration:none">W5500EVB TCP Client模式设置说明

图 2 烧录工具界面

W5500EVB TCP Client模式设置说明

图3  W5500-EVB实物图

现如图5所看到的界面。

W5500EVB TCP Client模式设置说明

图 4                              图5

再次点击下一步进入目标文件烧录界面,如图6所看到的。

W5500EVB TCP Client模式设置说明

图6  目标文件烧录界面

蓝色框内选择TCP Client\Debug\Exe\app.bin文件,红色框内选择Global Eras全然擦除,设置完毕后点击下一步開始下载。如图7所看到的。

W5500EVB TCP Client模式设置说明

图7 程序下载过程界面

二、測试链接

1. 设置PC为静态IP

打开网络连接,点击本地连接选择属性。出现如图8所看到的设置界面。设置完毕后点击确定。

W5500EVB TCP Client模式设置说明

图8 PC静态IP设置

2. 通过hercules连接測试

用网线把PC和W5500EVB连接,打开hercules软件,选择正确的COM口打开串口,按一下SW6复位按键,会显示W5500EVB设置好的信息如图9所看到的。

W5500EVB TCP Client模式设置说明

图 9 hercules开启界面

然后点击TCP Server,在Port口输入6001(6001在主程序),点击Listen,就能够进行传输数据測试,測试效果如图10所看到的。在蓝色框中任意输入数字或者字符。点击send,就会看到红色框内有数据接收到。说明连接成功。

attachment_id=6480" rel="attachment wp-att-6480" style="margin:0px; padding:0px; border:0px; font-family:inherit; font-size:undefined; font-style:inherit; font-variant:inherit; font-weight:inherit; line-height:inherit; vertical-align:baseline; color:rgb(33,117,155); text-decoration:none">W5500EVB TCP Client模式设置说明

图 10 数据收发測试

程序大致流程例如以下:

1. 初始化,包含系统时钟、中断、串口、GPIOport、Systick时、eeprom等

2. 重新启动W5500

3. 系统设置,包含IP地址、网关、子网掩码、MAC地址等

4. 连接模式选择(通过switch选择语句实现)

A .推断Socket状态

B. 假设Socket关闭。打开一个port

C. Socket初始化,建立连接

D. 假设连接成功。进行数据收发

模式选择主要通过下面函数以及硬件SPI模式的基本函数来实现。

uint8 getSn_SR(SOCKET s)

{

return IINCHIP_READ(Sn_SR(s));

}

uint8 IINCHIP_READ(uint32 addrbsb)

{

uint8 data = 0;

IINCHIP_ISR_DISABLE();                        // Interrupt Service Routine Disable

IINCHIP_CSoff();                              // CS=0, SPI start

IINCHIP_SpiSendData( (addrbsb & 0x00FF0000)>>16);// Address byte 1

IINCHIP_SpiSendData( (addrbsb & 0x0000FF00)>> 8);// Address byte 2

IINCHIP_SpiSendData( (addrbsb & 0x000000F8))    ;// Data read command and Read data length 1

data = IINCHIP_SpiSendData(0×00);             // Data read (read 1byte data)

IINCHIP_CSon();                               // CS=1,  SPI end

IINCHIP_ISR_ENABLE();                         // Interrupt Service Routine Enable

return data;    }

与我们很多其它交流:

WIZnet中文官方站点: http://www.iwiznet.cn

WIZnet企业官方微博:http://weibo.com/wiznet2012

WIZnet-Makerspace博物馆:http://wiznet.makerspace.com


W5500EVB TCP Client模式设置说明的更多相关文章

  1. 嵌入式以太网模块的TCP Client模式说明

    嵌入式以太网模块采用TTL电平串口,支持TCP Server,TCP Client,UDP Slave,UDP Master,TCP-ZSD,UDP-ZSD多种通信协议,TCP服务器模式支持多连接,可 ...

  2. W5500EVB TCP Server演示

    之前给大家展示了p=6471" style="margin:0px; padding:0px; border:0px; font-family:inherit; font-size ...

  3. Spark代码中设置appName在client模式和cluster模式中不一样问题

    问题 Spark应用名在使用yarn-cluster模式提交时不生效,在使用yarn-client模式提交时生效,如图1所示,第一个应用是使用yarn-client模式提交的,正确显示我们代码里设置的 ...

  4. WCF学习之旅—TCP双工模式(二十一)

    WCF学习之旅—请求与答复模式和单向模式(十九) WCF学习之旅—HTTP双工模式(二十) 五.TCP双工模式 上一篇文章中我们学习了HTTP的双工模式,我们今天就学习一下TCP的双工模式. 在一个基 ...

  5. Ftp主动模式和被动模式以及java连接ftp模式设置

    Ftp主动模式和被动模式以及java连接ftp模式设置 https://www.cnblogs.com/huhaoshida/p/5412615.html (1) PORT(主动模式) PORT中文称 ...

  6. 开源基于asio的网络通信框架asio2,支持TCP,UDP,HTTP,RPC,SSL,跨平台,支持可靠UDP,支持TCP自动拆包,TCP数据报模式等

    开源基于asio的网络通信框架asio2,支持TCP,UDP,HTTP,RPC,SSL,跨平台,支持可靠UDP,支持TCP自动拆包,TCP数据报模式等 C++开发网络通信程序时用asio是个不错的选择 ...

  7. ESP8266开发之旅 网络篇⑦ TCP Server & TCP Client

    授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...

  8. NetMQ(ZeroMQ)Client => Server => Client 模式的实现

    ØMQ (也拼写作ZeroMQ,0MQ或ZMQ)是一个为可伸缩的分布式或并发应用程序设计的高性能异步消息库.它提供一个消息队列, 但是与面向消息的中间件不同,ZeroMQ的运行不需要专门的消息代理(m ...

  9. (转)lwip TCP client & FreeRTOS 打开TCP 的 保活机制 LWIP_TCP_KEEPALIVE==1

    参考大神教程:http://blog.sina.com.cn/s/blog_62a85b950101aw8x.html   老衲五木 :http://blog.sina.com.cn/s/blog_6 ...

随机推荐

  1. 控制ClistCtrl的滚动的位置

    int nItem = m_listCtrl.GetTopIndex(); CRect rc; m_listCtrl.GetItemRect(nItem, rc, LVIR_BOUNDS); CSiz ...

  2. RCP:eclipse的DEBUG机制

    Eclipse debug文档翻译 运行一个程序需要添加launch configurable,在自定义launch configuration的时候会指定模式,比如run,debug,profile ...

  3. Javascript操作Cookie的脚本 — CookieHelper

    var HttpCookie = function(name, value, expires, path, domain) { if (name) this.Name = name; if (valu ...

  4. J2EE 第二阶段项目之分析业务

    这次的项目为: 两金申报系统.主要是关系的练习,CRUD,统计. 这个项目没有pdf图,只有一本使用手册.(在我们出去工作后,做项目的时候,也可能只有项目需求的资料). 分析:每一张表都有分页,查看 ...

  5. POJ3176——Cow Bowling(动态规划)

    Cow Bowling DescriptionThe cows don't use actual bowling balls when they go bowling. They each take ...

  6. 最小化spring XML配置,Spring提供了4种自动装配策略。

    1.ByName自动装配:匹配属性的名字 在配置文件中的写法: <bean name="course" class="course类的全包名">&l ...

  7. iOS 10 申请隐私权限的一些常用选项

    Privacy - Photo Library Usage Description                               访问相册   Privacy - Camera Usag ...

  8. luogu P1070 道路游戏

    传送门 这里设\(f_i\)表示时刻\(i\)的答案 转移的话在\([i-p+1,i-1]\)之间枚举j,然后考虑从哪个点走过来 复杂度为\(O(n^3)\) // luogu-judger-enab ...

  9. windows上的Qt 5的依赖部署打包

    通常我们编译Qt程序的时候最终会生成exe或dll,这些可执行文件都会有Qt模块的依赖,如果项目一旦庞大,就不是很好看出缺了什么模块,导致安装包安装到其他绿色干净的windows机器上会提示缺少XXX ...

  10. ORACLE&colon; private &comma;dao中util执行规范,nextval计数把通过nextval插入但已删除的列也统计在内向后计数

    private DAO中的util.rs.sql都应该为private. 其中每个具体方法执行增删改查操作前打开数据库连接,操作完成后关闭数据库连接.操作要规范,不然易出错. nextval seq_ ...