TI中文支持网
TI专业的中文技术问题搜集分享网站

6678 以太网

您还!

   本网站分享的工程GE(参考附件)的GE_Test.c的Port_OK函数的108、109行代码是否有问题?

if((gpMDIO_regs->CONTROL_REG&CSL_MDIO_CONTROL_REG_ENABLE_MASK)
&&(0==gpMDIO_regs->LINK_REG&(1<<uiPortNum)))      //109行
{
printf("link PHY%d is NOT up\n", uiPortNum);
return FALSE;
}

但是将红色部分修改成 0==(gpMDIO_regs->LINK_REG&(1<<uiPortNum))

后,又经常性的显示网络端口不能发送数据,输出 link PHY1 is NOT up。

请问该如何理解这个函数?谢谢!

Allen35065:

MDIO口的LINK状态位是PHY芯片相关的,PHY状态不对,LINK位就不对;

没必要加括号,&操作符优先级高于==。

xinrong long:

回复 Allen35065:

您好!

按位与(&)运算符优先级是低于等于  ==  运算符的,只有作为地址运算符,其优先级才是高于等于运算符的。

Allen35065:

回复 xinrong long:

嗯,你说的对,LINK位一般和PHY的状态相关,DSP侧只是通过其检测PHY是否正常工作。

L G2:

您好,我最近也在使用GE例程调试以太网,可否留个联系方式,请教你一些问题。

赞(0)
未经允许不得转载:TI中文支持网 » 6678 以太网
分享到: 更多 (0)