完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
易信的W5500网络模块,淘宝上有卖。51程序,芯片资料及网络模块原理图如附件所示。现在正在看厂家给的程序,其中有部分看不懂,请了解的高手解惑。/*******************************************************************************
* 函数名 : Detect_Gateway * 描述 : 检查网关服务器 * 输入 : 无 * 输出 : 无 * 返回值 : 成功返回TRUE(0xFF),失败返回FALSE(0x00) * 说明 : 无 *******************************************************************************/ unsigned char Detect_Gateway(void) { unsigned char ip_adde[4]; ip_adde[0]=IP_Addr[0]+1; ip_adde[1]=IP_Addr[1]+1; ip_adde[2]=IP_Addr[2]+1; ip_adde[3]=IP_Addr[3]+1; //检查网关及获取网关的物理地址 Write_W5500_SOCK_4Byte(0,Sn_DIPR,ip_adde);//向目的地址寄存器写入与本机IP不同的IP值 Write_W5500_SOCK_1Byte(0,Sn_MR,MR_TCP);//设置socket为TCP模式 Write_W5500_SOCK_1Byte(0,Sn_CR,OPEN);//打开Socket Delay(5);//延时5ms if(Read_W5500_SOCK_1Byte(0,Sn_SR) != SOCK_INIT)//如果socket打开失败 { Write_W5500_SOCK_1Byte(0,Sn_CR,CLOSE);//打开不成功,关闭Socket return FALSE;//返回FALSE(0x00) } Write_W5500_SOCK_1Byte(0,Sn_CR,CONNECT);//设置Socket为Connect模式 do { unsigned char j=0; j=Read_W5500_SOCK_1Byte(0,Sn_IR);//读取Socket0中断标志寄存器 if(j!=0) Write_W5500_SOCK_1Byte(0,Sn_IR,j); Delay(5);//延时5ms if((j&IR_tiMEOUT) == IR_TIMEOUT) { return FALSE; } else if(Read_W5500_SOCK_1Byte(0,Sn_DHAR) != 0xff) { Write_W5500_SOCK_1Byte(0,Sn_CR,CLOSE);//关闭Socket return TRUE; } }while(1); } 1,上面代码中,第一段红色代码中Sn_IR为Socket n中断寄存器,应为只读寄存器,为何会出现写该寄存器?? 2,第二段蓝色代码中,else if(Read_W5500_SOCK_1Byte(0,Sn_DHAR) != 0xff)这句是读取Socket 0寄存器的目的MAC地址值,该值与0xff有什么关系?为什么不等于0xff就判断返回成功呢?
|
|
相关推荐
1 条评论
3个回答
|
|
下载下来学习一下
|
|
|
|
需要软件清除中断标志位吧
|
|
|
|
先下载学习一会
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
《DNESP32S3使用指南-IDF版_V1.6》第三十章 DHT11数字温湿度传感器
122 浏览 0 评论
565 浏览 0 评论
【敏矽微ME32G070开发板免费体验】之原厂2812测试例程解析
772 浏览 0 评论
948 浏览 2 评论
《DNESP32S3使用指南-IDF版_V1.6》第二十六章 INFRARED_RECEPTION实验
658 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12041 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 22:42 , Processed in 0.776156 second(s), Total 90, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号