STM32--W5500 从入门解读

     博主痛苦的调试过程的开始之初,想要首先在网络上大致简单了解一下w5500 与 stm32 的调试,我发现,并没有很多特别有用的资料,因此,此时不得不自己去了解,因此,下面就将记录一下博主的主要的一个学习的过程吧。

 

一、w5500数据手册解读

1、基本介绍

不管别的,大家想要了解w5500 就肯定知道跟网络有关,简单来说就是处在stm32 与 网络通讯之间的一个模块,那么具体来讲见下图:

 

 

上图可以很简单的看出:

stm32 ---spi-------w5500----以太网

 

2、主机接口

上图: 采用MCU 主控制器与SLAVE相联,两种方式,第一种是可变数据长度,第二种是不可变数据长度

下面具体讲一下 SPI与 主机通讯所要了解的一些资料

w5500的帧分为三段:地址段,控制段,数据段

上面讲的两种工作模式:

数据长度可变:我们就可以通过SCSn来控制字节的大小,即当我们自动控制SCSn的高低电平,低电平开始,高电平帧额传输结束

数据长度固定:1 2 4 字节

SPI数据帧

SPI数据帧包括了16位的偏移地址,8位控制断,N字节段,下图为表示的格式:

 

随后芯片手册就在将关于这些偏移地址,控制段,数据段,相关内容,只要参考数据手册即可,上面写的也是算是清晰。

下面举一个示例,来自芯片手册:

 

3、通过寄存器

通用寄存器区配置了 W5500 的基本信息,例如:IP 及 MAC 地址。该区域可以通过 SPI 数据帧的区域选择位(BSB[4:0])的值选定,下面就是对应的寄存器的描述,对寄存器的进行配置,就可以实现我们最后的IP MAC等等的设定了

 

综上就是对我们的W5500的总体的一个描述了,我们下一步就是需要上升到软件层面了。

 

二、软件层面

对于软件部分我们采用的就是网上给出来的示例的程序,随后我将会上传到我的github上,大家可以进行访问,此外提一下我才用的stm32f103rc的开发板

不管别的废话,我们就直接进行软件层面的程序解读~    

       System_Initialization();    //STM32系统的初始化过程
        Load_Net_Parameters();        //装在w5500的网络的相关的参数
        W5500_Hardware_Reset();        //进行硬件复位W5500
        W5500_Initialization();        //W5500初始化配置

经过上面的步骤配置,基本上,我们就可以实现了对于网络的应用了。下面就贴上作者的一个简单的使用


        if(W5500_Interrupt)//´¦ÀíW5500ÖжϠ       
        {
            
            W5500_Interrupt_Process();//W5500是否接收到中断了
        }
        if((S0_Data & S_RECEIVE) == S_RECEIVE)//端口零是否接收到了数据
        {
            S0_Data&=~S_RECEIVE;
            Process_Socket_Data(0);//W5500对这个0端口的数据进行处理
          
        }
       

三、作者实现的效果

通过w5500传送一个数据,然后我通过了stm32 中的printf 的重定向实现了通过串口通讯发送给了网络。

 

 

https://github.com/Scottars/Gas-Detect

这个是作者github地址欢迎访问交流下载! 需要说明的是,本人的内容是纯属学生的工作的内容,内容简单,以实现目标为目的,大家有什么问题 相互交流~ 

  • 16
    点赞
  • 138
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

没有水杯和雨伞的工科男

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值