OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4869|回复: 5

STM32F407+w5500无法硬重启

[复制链接]

12

主题

53

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2017-3-14
在线时间
18 小时
发表于 2017-7-5 22:39:02 | 显示全部楼层 |阅读模式
1金钱
使用原子哥的407开发板,加w5500模块,但是无法实现硬重启,之后的也就无法使用了
[mw_shl_code=applescript,true]void W5500_Hardware_Reset(void)
{
        GPIO_ResetBits(W5500_RST_PORT, W5500_RST);//¸′λòy½Åà-μí

delay_ms(50);       
        GPIO_SetBits(W5500_RST_PORT, W5500_RST);//¸′λòy½Åà-¸ß
        delay_ms(200)        ;
ver = Read_W5500_1Byte(VERSION);
        while((Read_W5500_1Byte(PHYCFGR)&LINK)==0);
}[/mw_shl_code]
程序停在了while处,无法过去,spi是正常的,在rst引脚置高后,我读了芯片版本寄存器0x0039,是正常的,04
看对应的GPIO的寄存器,对应的rst引脚也是置上了的

最佳答案

查看完整内容[请看2#楼]

这个后来解决了,不是重启的问题,是因为spi全双工的模式下,只要写一个数据就会返回一个数据,这个数据应该被读走,之前没有读走,在真正读取数据的时候读的不是真正想要的数据了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

12

主题

53

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2017-3-14
在线时间
18 小时
 楼主| 发表于 2017-7-5 22:39:03 | 显示全部楼层
这个后来解决了,不是重启的问题,是因为spi全双工的模式下,只要写一个数据就会返回一个数据,这个数据应该被读走,之前没有读走,在真正读取数据的时候读的不是真正想要的数据了
回复

使用道具 举报

12

主题

53

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2017-3-14
在线时间
18 小时
 楼主| 发表于 2017-7-5 22:42:08 | 显示全部楼层
读ver = Read_W5500_1Byte(VERSION);始终是0x08,从现象来看是rst没成功,我把rst引脚直接接到高电平上,也就是一直不重启,这个寄存器读出来也是0x08
回复

使用道具 举报

12

主题

53

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2017-3-14
在线时间
18 小时
 楼主| 发表于 2017-7-6 14:57:25 | 显示全部楼层
没有人遇到类似情况吗
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165462
金钱
165462
注册时间
2010-12-1
在线时间
2114 小时
发表于 2017-7-6 21:46:22 | 显示全部楼层
帮顶
回复

使用道具 举报

8

主题

82

帖子

0

精华

初级会员

Rank: 2

积分
178
金钱
178
注册时间
2017-5-23
在线时间
17 小时
发表于 2017-8-11 10:13:06 | 显示全部楼层
这个你得查查硬件连线和硬件电路是否有问题,硬件无法控制,软件肯定不行
WIZnet 以太网芯片 w5500 Dai Li 商 深圳炜世科技0755-86568556  QQ2574989918
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-4-20 15:06

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表