提交 89bcb70e 编写于 作者: wuyangyong's avatar wuyangyong

add delay for PHY check.

上级 ff4fcd5b
......@@ -45,18 +45,22 @@ void phy_AutoMediaSelect() {
ETH_PhyWrite(PHY_BASE_ADDR, PHY_REG_EXTEND_STATUS, data);
}
void phy_AutoNeg() {
void phy_AutoNeg()
{
uint32_t data;
data = ETH_PhyRead(PHY_BASE_ADDR, PHY_REG_CONTROL);
data |= (PHY_BIT_CONTROL_ANEN | PHY_BIT_CONTROL_RSAN);
ETH_PhyWrite(PHY_BASE_ADDR, PHY_REG_CONTROL, data);
while (1) {
while (1)
{
uint32_t ret = ETH_PhyRead(PHY_BASE_ADDR, PHY_REG_STATUS);
if ((ret & PHY_BIT_STATUS_ANC) == PHY_BIT_STATUS_ANC) {
if ((ret & PHY_BIT_STATUS_ANC) == PHY_BIT_STATUS_ANC)
{
break;
}
rt_thread_delay(1);
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册