W5500EVB TCP Client模式设置说明
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地址。
图 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所看到的界面;继续点击下一步出
图 2 烧录工具界面

图3 W5500-EVB实物图
现如图5所看到的界面。

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

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

图7 程序下载过程界面
二、測试链接
1. 设置PC为静态IP
打开网络连接,点击本地连接选择属性。出现如图8所看到的设置界面。设置完毕后点击确定。

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

图 9 hercules开启界面
然后点击TCP Server,在Port口输入6001(6001在主程序),点击Listen,就能够进行传输数据測试,測试效果如图10所看到的。在蓝色框中任意输入数字或者字符。点击send,就会看到红色框内有数据接收到。说明连接成功。
图 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模式设置说明的更多相关文章
- 嵌入式以太网模块的TCP Client模式说明
嵌入式以太网模块采用TTL电平串口,支持TCP Server,TCP Client,UDP Slave,UDP Master,TCP-ZSD,UDP-ZSD多种通信协议,TCP服务器模式支持多连接,可 ...
- W5500EVB TCP Server演示
之前给大家展示了p=6471" style="margin:0px; padding:0px; border:0px; font-family:inherit; font-size ...
- Spark代码中设置appName在client模式和cluster模式中不一样问题
问题 Spark应用名在使用yarn-cluster模式提交时不生效,在使用yarn-client模式提交时生效,如图1所示,第一个应用是使用yarn-client模式提交的,正确显示我们代码里设置的 ...
- WCF学习之旅—TCP双工模式(二十一)
WCF学习之旅—请求与答复模式和单向模式(十九) WCF学习之旅—HTTP双工模式(二十) 五.TCP双工模式 上一篇文章中我们学习了HTTP的双工模式,我们今天就学习一下TCP的双工模式. 在一个基 ...
- Ftp主动模式和被动模式以及java连接ftp模式设置
Ftp主动模式和被动模式以及java连接ftp模式设置 https://www.cnblogs.com/huhaoshida/p/5412615.html (1) PORT(主动模式) PORT中文称 ...
- 开源基于asio的网络通信框架asio2,支持TCP,UDP,HTTP,RPC,SSL,跨平台,支持可靠UDP,支持TCP自动拆包,TCP数据报模式等
开源基于asio的网络通信框架asio2,支持TCP,UDP,HTTP,RPC,SSL,跨平台,支持可靠UDP,支持TCP自动拆包,TCP数据报模式等 C++开发网络通信程序时用asio是个不错的选择 ...
- ESP8266开发之旅 网络篇⑦ TCP Server & TCP Client
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...
- NetMQ(ZeroMQ)Client => Server => Client 模式的实现
ØMQ (也拼写作ZeroMQ,0MQ或ZMQ)是一个为可伸缩的分布式或并发应用程序设计的高性能异步消息库.它提供一个消息队列, 但是与面向消息的中间件不同,ZeroMQ的运行不需要专门的消息代理(m ...
- (转)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 ...
随机推荐
- 风起看云涌,叶落品人生 - Google 搜索
风起看云涌,叶落品人生 - Google 搜索 风起看云涌,叶落品人生
- 自己定义 ViewGroup 支持无限循环翻页之三(响应回调事件)
大家假设喜欢我的博客,请关注一下我的微博,请点击这里(http://weibo.com/kifile),谢谢 转载请标明出处,再次感谢 ################################ ...
- 异常学习笔记+打包+doc该软件包编译
jvm调用默认的异常处理机制printStackTrace办法 欲了解更多异常处理.问题 捕获异常代码块出现继承关系 应该把被继承的异常放在子类异常块的后面 watermark/2 ...
- Balsamiq Mockups注册码
Name: personalKey: eJzzzU/OLi0odswsqilILSrOz0vMqbFEAjXONYY1fu6ufgA/CA4X Name: helloWorldKey: eJzzzU/ ...
- leetcode第一刷_Convert Sorted List to Binary Search Tree
好,二叉搜索树粉末登场,有关他的问题有这么几个,给你一个n,如何求全部的n个节点的二叉搜索树个数?能不能把全部的这些二叉搜索树打印出来? 这道题倒不用考虑这么多,直接转即可了,我用的思想是分治,每次找 ...
- 自定义ComboBox,简简单单实现
private void Button_Click(object sender, RoutedEventArgs e) { Popup1.PlacementTarget = TesTextBox; P ...
- boost事件处理
尽管这个库的名字乍一看好象有点误导,但实际上并不是如此. Boost.Signals 所实现的模式被命名为 '信号至插槽' (signal to slot).它基于下面概念:当相应的信号被发出时.相关 ...
- Windows远程桌面连接Ubuntu 14.04 (转)
由于xrdp.gnome和unity之间的兼容性问题,在Ubuntu 14.04版本中仍然无法使用xrdp登陆gnome或unity的远程桌面,现象是登录后只有黑白点为背景,无图标也无法操作.与13. ...
- Unity3D 游戏开发架构篇 ——性格一流的设计和持久性
在游戏开发.游戏人物占了非常大的空间.所有内容都是由主角可以说游戏驱动. 下面来介绍一下一流的设计和持久性的作用. 一.应用场景 游戏中的角色类型不一而足,有不同的技能.有不同的属性等等.有些一个玩家 ...
- ORA-00020的思考
今天,历史的图书馆例行检查DB,发现alert.log有一"ORA-00020: maximum number of processes (150) exceeded",这是一个常 ...


