本帖最后由 hszhzwd 于 2020-7-4 18:36 编辑
W5500模块-客户端模式例程中,主程序如下:
int main(void)
{
unsigned int W5500_Send_Delay_Counter =0;
Load_Net_Parameters(); //装载网络参数
W5500_Hardware_Reset(); //硬件复位W5500
W5500_Initialization(); //W5500初始货配置
while (1)
{
W5500_Socket_Set();//W5500端口初始化配置
W5500_Interrupt_Process();//W5500中断处理程序框架
if((S0_Data & S_RECEIVE) == S_RECEIVE)//如果Socket0接收到数据
..
..
..
}
}
其中:
void W5500_Hardware_Reset(void)
{
W5500_RST=0;//复位引脚拉低
Delay(200);
W5500_RST=1;//复位引脚拉高
Delay(200);
while((Read_W5500_1Byte(PHYCFGR)&LINK)==0);//等待以太网连接完成
}
我的问题是:
先执行函数:Load_Net_Parameters(); //装载网络参数
之后执行函数: W5500_Hardware_Reset(); //硬件复位W5500
那么执行了硬件复位后,装载的网络参数的是否被复位?两行的执行顺序是否互换一下?或者是第一行的硬件的复位函数,对装载网络参数的寄存器不造成什么影响? |