欢迎来到优知文库! | 帮助中心 分享价值,成长自我!
优知文库
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 优知文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    STM32F103驱动W5500网络程序.docx

    • 资源ID:1406687       资源大小:48.59KB        全文页数:18页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录
    二维码
    扫码关注公众号登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    STM32F103驱动W5500网络程序.docx

    返回值:无 说明:无ZvoidW5500_GPIO_Configuration(void|RCC->APB2ENR=1<<4;/PORTC时钟使能GPIOC->CRl&=OXFFOOFFFF;GPIOC->CR1.=0X003800;GPIOC->ODR=3<<4;/PC4上拉,PC5输出海SPIlJnitO;Ex_NVIC_Config(GPIO_CAFTIR);下降沿触发MY.NVIC.Inlt(2fO,eXTI4JRQChanneU);抢占2,子优先级0,组2 的数名:Write_WS500_IByte 描述:通过SPIl向指定地址寄存器写1个字节数据 输入”eg:16位寄存器地址,dat:恃写入的数据 输出:无 返回值:无 说明:无voidWrite_W5500_lByte(ul6regj8dat)(W55OO_CS-IOW();员W55OO的SCS为低电平SPll_Send_ShOrt(reg);通过SPIl写16位寄存器地址SPlI_ReadWriteByte(FDMlIRWB_WRITE|C0MM0N_R);通过SPIl写限洌字节,1个字节数据长度,写数据,选杼通用寄存器SP1.ReadWriteByte网;写1个字节数据W5500_CS-High0;置W5500的SCS为向电平 函数名:Write_W5500_28yte 描述:通过SPIl向指定地址寄存器写2个字节数据 函数名:Write_W5SOO_SOCK_lByte 描述:通过SPIl向指定堀Il寄存器写1个字节数据 输入:$:那口号,降8:16位寄存器地址,dat:待写入的数据 输出:无 返回值:无 说明:无,*“*jadS*+u*m+j*d*4U*u*d*u/voidWrite_W5SOO_SOK_lByte(SOCKETs,16reg,u8dat)W5500_CS_1.ow();/)rfW5500的SCS为低电平SPIl_Send_ShOrt(reg);通过SPIl写16位寄存器地址SPlI一ReadWriteByte(FDMllRWB_WRITEI(Uox2O2xO8);通过SPIl写限制字节,1个字节数据长度,写数据,选择然口S的寄存器SP1.ReadWriteBytadat);写1个字节数据W55M_CS_High();/i*iW55OO的SCS为高电平*ar*x*京*xat*“*,*«*:”*:* 函数名:Write_W5500_SOCK_2Byte 描述:通过SPIl向指定端口寄存器目2个字节数据 输入:s:端口号,reg:16位寄存零地址,dat:16位待写入的数据(2个字节) 输出:无 返回值:无 说明:无 寓a*拿*«*%*1<*at:*a*«*/%«*,ZvoidWrite_W5500_SOCK_2Byte(S0CKET$,ul6reg,ul6dat)(W55.CS,1.ow()i¾WSSOO的SCS为低电平SPI1.sen1.ShOn(reg);通过SPIl写16位寄存器地址SPI1.ReadWriteByte(FDM21RWB_WRlTEl(S*0x20+0x08);通过SPIl写限制字节,2个字节数据长度,写数据,选择端口s的寄存SPIl_Send_Short(dat);/16位数据W55OO_CS_High0;置W55的SCS为麻电平SPll_Sen1.Short(reg);通过SPIl写16位寄存器地址i=$Pll_ReadWriteByte(FDMllRWB_READlCOMMoN_R);通过SPIl写R4制字节,1个字节数据长度,读数据,选杼通用寄存器U=Read_W5500_lByte(0x);/$PlI_Sent1.Byte(OXo0);发送一个喳数据i=SPI1.ReadWriteByte(OXo0);被取1个字节数据W5500_CS_High();置WSSOO的SCS为高电平returni;返【可读取到的寄存器数据/*,*X*上*«*,* 函数名:Reat1.W5500_SoaCByte 描述:读W5500指定端11寄存甥的1个字节数据 输入:s:iffl口号,reg:16位寄存!地址 输出:无 返回值:读取到寄存器的1个字节数据 说明:无/u8Read_W5500_SOCK_lByte(SOCKETs,ul6reg)u8i;W5500_CS_1.ow();/FfWS500的SCS为低电平SPll.Send-Short(reghitSPIl写16位寄存器地址i=SPIl_ReadWriteByte(FDMlRWB.READ($,0x20+0x08);通过SPIl写限制字节,1个字节数据长度,读数据,选择然口S的寄存器/i=SPIJ2S_ReceiveData(SPIl);/SP1.sent1.Byte(OXo0);发送一个哑数据i=SPI1.ReadWriteByte(OXOO);读取1个字节数据W5500_CS_High0;置WSSOO(f)SCS为高电平returni;返e1读取到的寄存器数则/*,*,*arx*a*«*»;*函数名:Read_W5SOO_SOCK_2BYte描述:读W5500指定端1:1寄存器的2个字节数据注目的主机端口号)off$et=Read_W5500_SOCK_2Byte(5,Sn_TX_WR);offsetl=<jffset;OffSet&=(Sjx_3IZE-1);计算实际的物理地址W5500_CS_1.oW();置W55OO的SCS为低电平SP1.Sen1.ShOrtgffset);写16位地址SPl1.ReadWriteByte(VDMIRWB_WRITEMS*0×20+0xl0);“写和同字节,N个字节数据长叱写数据,选择端口S的寄存器if(offset4size)<S_TX_SIZE)/如最大地址未超过W5S00发送级冲区寄存器的最大地址for(i=0;i<size;i+)循环U入size个字节数据(SPIlsReadWriteByte(,dat_ptr+);打人一个字节的数据)eke鼠如最大地址超过W55发送缓冲区寄存的最大地址(OffSet=SJX-SIZE-Offset;for(i=0;i<offset;i+)循环,。入前offset个字节数据(SPlI_ReadWriteByteedaJPtr+);写入一个字节的数据)W55OO_CS_High0;置W5S的SCS为高电平W55M_CS_1.ow();/jKtWSSOO的SCS为低电平SPIl_Send_ShOrt(OXO0);有16位地址SPIl_ReadWriteByte(VDMlRWB_WRITEl(S*0x20+0x10);写限制字节,N个字节数据长度,写数据,选择湘口s的寄存器for(;ivsize;i+)循环打入size-offset个字节数据(SP1.ReadWriteByte(dajptr+);写入个字节的数据)W5500_CS_High。;置WS500的SCS为高电平OffSeU+=ze;更新实际物理地址,即下次写待发送数据到发送数据畿冲区的起始地址Write_W5500_SOCK_2Bytc(s,Sn_TX_WR,offsetl);Write_W5SOO_SOCK_lByte(s,Sn_CR,SEND);发送自动发送吩咐 函数名:W55OO_HardWare_Reset 描述:硬件班位W55OO 输入:无 输出:无 返同依:无 说明:W55OO的复位引脚保持低电平至少SOOUS以上,才能无用W55OOvoidW5S00-Hardware-Reset(void)W5500_RSTjW0;或位出脚拉低delay-ms(501;W5500_RSTJigh();狂位引脚拉高delay-ms(2);/While(Reae1.W55OO_lByte(PHYCFGR)&UNK)=0);等待以太网连接完成,函数名:W55,lnit 描述:初始化W5S00寄存器函数 输入:无 输出:无 返回俄:无 说明:在运用W5500之前.先对W5500初始化voidWSSOOJnit(Void)(u8i=0;Write_WS500_lByte(MR.RST);软件史位WSSOOjtJ1疗效,更位后自动消0delay_ms(10);延时IOmS,El己定义该函数设置网关(Gateway)的IPJfeJizGatewayJP为4字节unsignedChar数知1.自己定义运用网关可以使通信突破子网的局限,通过M关可以访问到其它子网或进入InternetWrite_W5500_nByte(GAR,GatewayeIPr4);设置子网掩码(MASK)值,SUB-MASK为4字节unsignedchar数纲,自己定义returnTRUE;)while(l); 函数Z:Socket-lnit 描述:指定SOCket(O7)初始化 输入:S:待初始化的端口 输出:无 返回值:无 说明:无/voidSocke1.lniKSOCKETS)设置分片长度.参考W5500数据手册,该位可以不修改Wnte_W5500_SOCK_2Byte(O,Sn_MSSR,1460);呆大分片字节数=1460(0x5b4)设置指定端口switch(三)(case0:设置端口0的端口号Write_W55M_SOCK_2Byte(0,Sn_PoRT,S0_Port(0*2S6*S0_Portl);break;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break; 说明:当本机SoCket匚作在服务器模式时,引用该程序,等等远程主机的连接 该程序只两用一次,就使W5S00设置为服务器模式ZunsignedcharSOCket.1.isten(SoCKET$)Wme_W55OO_SOCK_1Byte(Ssn_MR,MR_TCP);设置socket为TCP模式Write_W55OO_SoCK_1Byte(S,Sn_CRQPEN);打开Socketdelay-ms(5)il'

    注意事项

    本文(STM32F103驱动W5500网络程序.docx)为本站会员(王**)主动上传,优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知优知文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 yzwku网站版权所有

    经营许可证编号:宁ICP备2022001189号-2

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知优知文库网,我们立即给予删除!

    收起
    展开