DM9000A的自适应寄存器始终设置不了! PHY_Write ( 0, 0x1200 ); delay(2000); /* wait >2 ms */ PHY_Read(0x01); /* PHY 01H register status = 0x7849(默认值)*/ PHY_Read(0x05); /* PHY 05H register status = 0x0000*/
以下是PHY读程序: static uint16 phy_read(uint8 offset) {
writetonet(DM_EPAR, 0x40 | offset); writetonet(DM_EPCR, EPCR_EPOS | EPCR_ERPRR);
while( (readfromnet(DM_EPCR)) & 0x01 ) { delay(5); } writetonet(DM_EPCR, 0x00); //PHY 清除命令 return (readfromnet(DM_EPDRL) | (readfromnet(DM_EPDRH) << 8)); } DM9000A的自适应功能始终设置不了,LINK的灯也不亮,大家能帮忙看看错在那里呢?或者是设置的顺序错误? |