在EK-TM4C1294XL的uip例程里有一句:
while((MAP_EMACPHYRead(EMAC0_BASE, 0, EPHY_BMSR) & EPHY_BMSR_LINKSTAT) == 0) // Wait for the link to become active. //
{;}//Link Established.
当网口没插时,程序就死在这里了,后面的程序就执行不了了,必须得等待插网线,请问屏蔽掉这句程序有什么问题吗?
xyz549040622:
Wait for the link to become active.
注释说明一切了,等待通讯主机。屏蔽掉就不等待了,向下执行,但碰到任何一个通讯的东西,又会进入死循环了
kqian0327:
你好,
这句的功能是等待物理层配置一切ok,是看你硬件有没有接好的保障。
如果你去掉,后面肯定会出问题,但是你可以改,如果没插网线,后面的程序都不要执行啦。
qw m:
回复 xyz549040622:
如果只是等待自己这边网络激活,还可以理解,但非要等待网络连通,在网络初始化这死循环,我后面的控制程序就不能执行了!?
好比没连网线,PC开机后也能运行其他程序,不能因为没连网线就死机在网络这啊!?
不理解。
qw m:
回复 qw m:
我屏蔽掉之后,暂时网络还能正常运行
HG:
EPHY_BMSR_LINKSTAT 你的程序不就是在等link吗? 代码写成的逻辑和结果不是一样吗