[技术问答] 新定义板子驱动W5500网口,无法收发数据如何处理?

[复制链接]
 楼主| 两只袜子 发表于 2023-2-9 09:53 | 显示全部楼层 |阅读模式
我现在捣鼓新定义板子驱动SPI接口W5500网口,读写寄存器都成功了。
拼下位机也能拼通。可是无法收发数据。
我仿真了一下:
/******************************************************************************** 函数名  : 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(50);//延时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        {                u8 j=0;                j=Read_W5500_SOCK_1Byte(0,Sn_IR);//读取Socket0中断标志寄存器                if(j!=0)                Write_W5500_SOCK_1Byte(0,Sn_IR,j);                Delay(50);//延时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);}
发现老是超时,进入if((j&IR_TIMEOUT) == IR_TIMEOUT)
{
return FALSE;
}
返回FALSE。
请问高手,哪里出现了问题?谢谢!

Anrenly 发表于 2023-2-9 10:58 | 显示全部楼层
能整齐一些吗,这样不想看代码
比神乐 发表于 2023-2-16 23:00 | 显示全部楼层
怎么像学我?
pmp 发表于 2023-3-2 12:06 | 显示全部楼层
这个单片机的速度有问题吗?              
deliahouse887 发表于 2023-3-3 21:38 | 显示全部楼层
w5500 spi速度太慢,会不会丢包
louliana 发表于 2023-3-3 21:55 | 显示全部楼层
收不到数据的吗?              
macpherson 发表于 2023-3-3 22:18 | 显示全部楼层
w5500 可以通过模拟spi来驱动吗
yorkbarney 发表于 2023-3-4 13:14 | 显示全部楼层
w5500的spi速度时间是多少
sdlls 发表于 2023-3-4 19:32 | 显示全部楼层
使用示波器测量一下信号的波形吧。
pmp 发表于 2023-3-4 19:40 | 显示全部楼层
这个是不是供电不足?              
pentruman 发表于 2023-3-5 10:15 | 显示全部楼层
这个是不是供电不足?              
kkzz 发表于 2023-3-5 10:27 | 显示全部楼层
w5500的spi速度时间是多少
febgxu 发表于 2023-3-5 10:34 | 显示全部楼层
使用示波器测量一下信号的波形吧。
pl202 发表于 2023-3-7 20:28 | 显示全部楼层
是你的代码处理有问题吧。              
vivilyly 发表于 2023-3-7 20:58 | 显示全部楼层
无法首发数据是什么问题?              
mmbs 发表于 2023-3-7 21:52 | 显示全部楼层
网上的资料有很多的,可以学习一下。
earlmax 发表于 2023-3-7 21:58 | 显示全部楼层
可以移植lwip吗?              
bartonalfred 发表于 2023-3-7 22:10 | 显示全部楼层
w5500有很多的例程可以参考。
olivem55arlowe 发表于 2023-3-7 22:19 | 显示全部楼层
这个代码配置有问题吗?              
classroom 发表于 2024-3-5 10:30 | 显示全部楼层
检查数据包格式是否有误
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2122

主题

8117

帖子

11

粉丝
快速回复 在线客服 返回列表 返回顶部

2122

主题

8117

帖子

11

粉丝
快速回复 在线客服 返回列表 返回顶部