OpenEdv-开源电子网

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

用stm32f407 + W5500 一直无法ping通

[复制链接]

3

主题

11

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2016-8-26
在线时间
9 小时
发表于 2017-8-2 23:17:35 | 显示全部楼层 |阅读模式
15金钱
用stm32f407 + W5500 一直无法ping通(用F103跑得正常,移植到407就不行了),新的IP无法写到w5500里去,好像SPI通信出问题,但一直找不出原因,谁有例程,能发来参考下,谢谢!

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

11

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2016-8-26
在线时间
9 小时
 楼主| 发表于 2017-8-3 14:00:38 | 显示全部楼层
原程序在F103上有一个发送1字节函数:
void SPI1_Send_Byte(unsigned char dat)
{                                          
    while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET){}
       
        SPI_I2S_SendData(SPI1, TxData);                                     
}
现改为像原子哥的读写形式就能ping通了,如下所示:但在F103上就可以正常运行,为什么在F407就不可以呢?这点还是不明白:
u16  SPI1_Send_Byte(unsigned char dat)
{                                          
    while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET){}
       
        SPI_I2S_SendData(SPI1, TxData);
    while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_RXNE) == RESET){;}

        return SPI_I2S_ReceiveData(SPI1);                                    
}
回复

使用道具 举报

3

主题

11

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2016-8-26
在线时间
9 小时
 楼主| 发表于 2017-8-7 10:48:40 | 显示全部楼层
令人奇怪的是,换成另一路通信口SPI2来做,又ping不通了,不知SPI2跟SPI1又有什么不一样的地方??真郁闷啊
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165508
金钱
165508
注册时间
2010-12-1
在线时间
2115 小时
发表于 2017-8-8 02:05:54 | 显示全部楼层
帮顶
回复

使用道具 举报

3

主题

11

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2016-8-26
在线时间
9 小时
 楼主| 发表于 2017-8-14 12:39:42 | 显示全部楼层

SPI2 ping不通是因为CS脚一开始并一直为低电平,在后面改变为高,就不起作用,在F103上就可以,在F407就不可以,改CS一开始就高电平就解决了!
但另外现又出新问题了,两个CPU 的SPI通信,全双工方式,主机收到错误的数据,从机能正确收到数据,主机收到的数据经常是前后4位错位,比如,从机发送的是AA  55 BB C2 ...,而主机收到的是A5  5B BC 2..,就是最前面的4位没了,由相邻的后一个字节的高四4补上了。
还有一个问题是:从机用中断的方式可以正常收到数据并发送,胆取消了中断使能后,用查询方式,就收不到任何数据并也发不出任何数据,就是 TXE 和RXNE一直为0,不管主机怎样发信号脉冲过来也没反应
回复

使用道具 举报

8

主题

82

帖子

0

精华

初级会员

Rank: 2

积分
178
金钱
178
注册时间
2017-5-23
在线时间
17 小时
发表于 2017-9-12 15:00:55 | 显示全部楼层
你要先检查SPI通信是否正常,再找代码问题。确保SPI读写操作是正常。

WIZnet W5500代理商深圳炜世科技与WIZnet,2017年9月23日在深圳携手举办“物联网通信协议详解与实践”免费培训课,第一期主题TCP/IP协议基础和TCP、UDP的实现。
WIZnet资深工程师陈海峰博士亲自授课,机会难得,报名方式【姓名+公司名称+手机号+QQ】发送到邮箱support@wisioe.com,邮件收到后将会电话或者邮件形式通知 psb.jpg
WIZnet 以太网芯片 w5500 Dai Li 商 深圳炜世科技0755-86568556  QQ2574989918
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-18 15:13

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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