F407 与 LAN9252通信问题
采用STM32F407与LAN9252进行通信,采用FSMC接口,目前量产了500套,但是发现有一些产品在上电的时候会偶尔出现LAN9252卡死在初始化状态的情况。一旦初始化没问题,则可以一直保持正常运行。
就是会卡在这个死循环中,写入数据和读取的数据不等。
do
{
intMask = 0x0093;
HW_EscWriteDWord(intMask, ESC_AL_EVENTMASK_OFFSET);
intMask = 0;
HW_EscReadDWord(intMask, ESC_AL_EVENTMASK_OFFSET);
inittimer++;
if(inittimer>1000000)
{
g_sm.g_flags.bit.EthercatInitErr=1;
break;
}
} while (intMask!= 0x0093);
不知有没有哪位遇到过这个问题,是否能提供一下解决的思路。感谢感谢!
附件中附上原理图
上电后延迟1秒再操作,看看是否可以解决。 eric2013 发表于 2022-6-27 10:17
上电后延迟1秒再操作,看看是否可以解决。
:handshake感谢,我试试看。
关注楼主测试结果 关注楼主测试 上电后9252会先从EEPROM读通信方式吧。初始化之前加延时等待9252读EE完成 有可能是初始化之前,9252还没从EEPROM读通信方式成功,加延时试试 加了延时还是会出现,:(,不过感觉频率有降低。 关注楼主测试:D
页:
[1]