本人刚接触网络,一头雾水,问的问题可能大家看起来比较简单,望大神们可以不吝批评指教。
首先,这是我DM9161和STM32F407的原理图(使用的是RMII模式)
不知道硬件有木有错。
其次,我设置PHY的基地址为0x01,可以初始化完PHY,但是用0x01的基地址读寄存器值都是0xFFFF。而基地址设0x00,不可以初始化,一直停留在
if(ETH_InitStruct->ETH_AutoNegotiation != ETH_AutoNegotiation_Disable)
{
/* We wait for linked status... */
do
{
timeout++;
} while (!(ETH_ReadPHYRegister(PHYAddress, PHY_BSR) & PHY_Linked_Status) && (timeout < PHY_READ_TO)); //程序停在此处
用0x01初始化PHY后,用0x00读寄存器可以读取到不同值,有些是正确的。
STM32f407出来的MCO是50M木有错。
还有是一直无法和电脑连接上。
交流QQ:532334052 谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>