1134|2

2761

帖子

0

资源

纯净的硅(高级)

新定义板子驱动W5500网口的问题 [复制链接]

本帖最后由 chenbingjy 于 2023-1-17 10:30 编辑

我现在捣鼓新定义板子驱动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。

请问高手,哪里出现了问题?谢谢!

此帖出自stm32/stm8论坛
个人签名为江山踏坏了乌骓马,为社稷拉断了宝雕弓。

回复

4675

帖子

0

资源

五彩晶圆(中级)

要从从SOCKET配置,SOCKET状态,中断寄存器,发送接收程序,或是上位机软件的设置等进行排查 。

具体配置参考W5500数据手册。

此帖出自stm32/stm8论坛

点评

谢谢  详情 回复 发表于 前天 08:40

回复

2761

帖子

0

资源

纯净的硅(高级)

Jacktang 发表于 2023-1-26 23:26 要从从SOCKET配置,SOCKET状态,中断寄存器,发送接收程序,或是上位机软件的设置等进行排查 。 具体配 ...

谢谢

此帖出自stm32/stm8论坛
个人签名为江山踏坏了乌骓马,为社稷拉断了宝雕弓。

回复
您需要登录后才可以回帖 登录 | 注册

相关帖子
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/5 下一条

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2022 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表