STM32F103驱动W5500网络程序.docx

上传人:p** 文档编号:1062824 上传时间:2024-06-29 格式:DOCX 页数:18 大小:48.59KB
下载 相关 举报
STM32F103驱动W5500网络程序.docx_第1页
第1页 / 共18页
STM32F103驱动W5500网络程序.docx_第2页
第2页 / 共18页
STM32F103驱动W5500网络程序.docx_第3页
第3页 / 共18页
STM32F103驱动W5500网络程序.docx_第4页
第4页 / 共18页
STM32F103驱动W5500网络程序.docx_第5页
第5页 / 共18页
STM32F103驱动W5500网络程序.docx_第6页
第6页 / 共18页
STM32F103驱动W5500网络程序.docx_第7页
第7页 / 共18页
STM32F103驱动W5500网络程序.docx_第8页
第8页 / 共18页
STM32F103驱动W5500网络程序.docx_第9页
第9页 / 共18页
STM32F103驱动W5500网络程序.docx_第10页
第10页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《STM32F103驱动W5500网络程序.docx》由会员分享,可在线阅读,更多相关《STM32F103驱动W5500网络程序.docx(18页珍藏版)》请在第壹文秘上搜索。

1、 返回值:无 说明:无ZvoidW5500_GPIO_Configuration(void|RCC-APB2ENR=1CRl&=OXFFOOFFFF;GPIOC-CR1.=0X003800;GPIOC-ODR=34;/PC4上拉,PC5输出海SPIlJnitO;Ex_NVIC_Config(GPIO_CAFTIR);下降沿触发MY.NVIC.Inlt(2fO,eXTI4JRQChanneU);抢占2,子优先级0,组2 的数名:Write_WS500_IByte 描述:通过SPIl向指定地址寄存器写1个字节数据 输入”eg:16位寄存器地址,dat:恃写入的数据 输出:无 返回值:无 说明:无v

2、oidWrite_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_l

3、Byte 描述:通过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的寄存器

4、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()iWSSOO的SCS为低电平SPI1.sen1.

5、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);/$P

6、lI_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为低电

7、平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描

8、述:读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*020+0xl0);“写和同字节,N个字节数据长叱写数据,选择端口S的寄存器if(offset4size)S_TX_SIZE)/如最大地址未超过W5S00发送级冲区寄存器的最大

9、地址for(i=0;isize;i+)循环U入size个字节数据(SPIlsReadWriteByte(,dat_ptr+);打人一个字节的数据)eke鼠如最大地址超过W55发送缓冲区寄存的最大地址(OffSet=SJX-SIZE-Offset;for(i=0;ioffset;i+)循环,。入前offset个字节数据(SPlI_ReadWriteByteedaJPtr+);写入一个字节的数据)W55OO_CS_High0;置W5S的SCS为高电平W55M_CS_1.ow();/jKtWSSOO的SCS为低电平SPIl_Send_ShOrt(OXO0);有16位地址SPIl_ReadWriteB

10、yte(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);发送自动发送吩咐 函数名:W55O

11、O_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初始

12、化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

13、); 函数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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 数据结构与算法

copyright@ 2008-2023 1wenmi网站版权所有

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

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