OpenEdv-开源电子网
标题:
快速移植W5500,基于STM32F407
[打印本页]
作者:
mftang2016
时间:
2017-4-15 21:46
标题:
快速移植W5500,基于STM32F407
本帖最后由 mftang2016 于 2017-4-15 23:11 编辑
说明:
本文主要介绍一种简单的W5500模块移植方案,仅需要简单地修改硬件接口,即可实现该驱动程序的移植。
硬件:
安富莱_STM32-V5开发板 和 有人物联网 USR-ES1 W5500模块
(, 下载次数: 50)
上传
点击文件名下载附件
(, 下载次数: 21)
上传
点击文件名下载附件
在安富莱_STM32-V5开发板,上预留一个NRF24L01模块的接口,可使用其作为W5500模块的控制引脚
IO连接方式:
W5500 MCU
REST PC4
CS PA4
MOSI PB5
MISO PB4
SCK PB3
具体连接实物图如下:
(, 下载次数: 27)
上传
点击文件名下载附件
固件介绍
该驱动主要由四个文件组成,
w5500.c, w5500.h, socket.c, socket.h,
而移植该固件仅需修改w5500.c中IO相关配置即可。
代码见附件
在w5500.c文件中修改IO端口配置信息,该测试代码使用 安富莱_STM32-V5开发板,其配置信息如下:
(, 下载次数: 13)
上传
点击文件名下载附件
测试
测试版作为客户端,PC上位机作为服务器使用
测试代码如下:
INT8U NetStateCheck(void)
{
INT8U net_state,phy_cfgr;
CommModule *pCommCfg;
pCommCfg = &st_AppCfg.CommCfg;
//判断是否网线断线
phy_cfgr = getPHYCFGR();
if(!(phy_cfgr&0x1))
{
disconnect(0);
net_state = CONNECT_NONE;
return net_state;
}
net_state=getSn_SR(0);
switch(net_state)/*获取socket0的状态*/
{
case SOCK_INIT:/*socket初始化完成*/
connect(0, pCommCfg->Rj45.server_ip,pCommCfg->Rj45.server_port);/*在TCP模式下向服务器发送连接请求*/
break;
case SOCK_ESTABLISHED:/*socket连接建立*/
if(getSn_IR(0) & Sn_IR_CON) //
如下代码跳入到该状态下,则网络连接成功
{
setSn_IR(0, Sn_IR_CON);/*Sn_IR的第0位置1*/
}
break;
case SOCK_CLOSE_WAIT:/*socket等待关闭状态*/
disconnect(0);
break;
case SOCK_CLOSED:/*socket关闭*/
if(pCommCfg->Rj45.local_port>=4000)
{
pCommCfg->Rj45.local_port=3000;
}
socket(0,Sn_MR_TCP, pCommCfg->Rj45.local_port++,Sn_MR_ND);/*打开socket0的一个端口*/
break;
default:
break;
}
if( net_state == SOCK_ESTABLISHED )
{
}
else
{
}
return net_state;
}
测试结果:
(, 下载次数: 12)
上传
点击文件名下载附件
作者:
mftang2016
时间:
2017-4-15 21:51
标题:
快速移植W5500,基于STM32F407
本帖最后由 mftang2016 于 2017-4-15 23:04 编辑
同上
作者:
mftang2016
时间:
2018-7-15 19:48
历史帖更新:
(, 下载次数: 13)
上传
点击文件名下载附件
作者:
飘渺孤鸿影
时间:
2018-7-19 12:06
好东西啊,最近正在做这个。
作者:
WSGustin
时间:
2018-10-11 09:42
如果有W5500问题没有解决,可以来找我们深圳炜世科技,提供专业的技术支持。
QQ:2429075983
邮箱
gustin@wisioe.com
作者:
opk666
时间:
2018-12-10 16:14
楼主头像违规了
作者:
轻唱碎流年
时间:
2019-2-13 09:54
这真是极好的
作者:
零一春风数声
时间:
2019-3-8 15:07
谢谢分享!
作者:
lorabbitve
时间:
2019-3-21 21:50
多谢楼主!
作者:
zuan
时间:
2019-3-29 10:19
多谢分享!
作者:
那凯
时间:
2019-5-8 22:48
移植起来
作者:
stn1313528
时间:
2019-9-12 20:40
好资料,谢谢
作者:
宇智波白
时间:
2019-10-23 19:44
支持一下
作者:
柯先云
时间:
2019-12-12 16:42
楼主,为什么提示#include "Includes.h"这个头文件没找到啊
作者:
pjzmj2012
时间:
2020-10-15 17:27
mark STM32F407 w5500
作者:
xuejunwang
时间:
2021-3-20 11:16
谢谢分享!有功之人!
作者:
ghwcxh
时间:
2021-11-25 18:52
柯先云 发表于 2019-12-12 16:42
楼主,为什么提示#include "Includes.h"这个头文件没找到啊
请问怎么解决,有没有使用过F407成功连接并受到信息的
欢迎光临 OpenEdv-开源电子网 (http://www.openedv.com/)
Powered by Discuz! X3.4