本帖最后由 fluaxy 于 2016-1-29 10:20 编辑
大家好,我参照原子哥的探索者原理图,用的LAN8720做PHY,想实现stm32与PC机的tcpip通讯。遇到如下问题:
1. 无论是插笔记本还是插在路由器上,从串口调试界面来看,均显示“DHCP服务超时,使用静态IP地址!”
2. 无论连接笔记本还是路由器,ping不通,显示“无法访问目标主机”(ping的时候RJ45座上的灯会闪)
看样子是接收到了,但是stm32内部处理出了问题?
3. 此时用串口调试,发送函数ETH_ReadPHYRegister(0X0,0X1F),会得到与手册上一致的结果
刚接触TCPIP,出现这样的问题完全没思路如何继续解决下去,望大家指点一二。
附原理图:
另外补充描述,我使用的是stm32F407VGT6,是100脚的芯片,和探索者不同,但是晶振都是8MHz的,使用的是原子哥的“LWIP扩展例程”下的“网络实验1 LWIP无操作系统移植”。
更改部分:
1. 注释掉了LCD、LED、KEY、FSMC初始化部分。
2. 注释了对外部内存的初始化“my_mem_init(SRAMEX);”保留了my_mem_init(SRAMCCM);和my_mem_init(SRAMIN);
3. 在Lan8720.c中将原先的PG11/13/14更改到对应100脚芯片的PB11/12/13上。
除此以外还需要对其他部分进行更改么?
就是可以接收发送不出去是吧?那就是跟我情况一样,我的是PHY和ARM之间有个FPGA,然后把发送时钟延迟90度相位就可以了。这个发送时钟不是我弄的。我记得是什么90度的。就是发送时钟问题的,因为时序不对,所以数据不对,电脑就不能解析你的地址。所以就不能连接。你用的什么PYH?
一周热门 更多>