蜗牛蜗牛 发表于 2018-11-22 09:46:11

正点原子历程LAN8720A 初始化,必须插上网线,否则失败解决方案

本帖最后由 蜗牛蜗牛 于 2018-11-22 09:56 编辑

最近做个一个东西 ,stmf407 芯片,网络用的LAN8720A,电路图也是参照正点原子的,历程也是,但是问题是:初始化时候必须插网线,不插网线初始化就会失败,
由于这是第一次做网口,问的的是:
1.lan8720A初始化必须插网线吗?(具体初始化网络还不是太懂)
2.st官方的库驱动是不是有问题,里面有个阻塞初始化的地方.
3.由于是没有上系统,所以这个阻塞初始化方式很要命,有没有不阻塞的初始化方式,


具体阻塞地方是:
ETH_Init会阻塞,
rval=ETH_Init(&ETH_InitStructure,LAN8720_PHY_ADDRESS);                //配置ETH


官方库2个等待超时
    /* We wait for linked status... */
    do
    {
      timeout++;
    } while (!(ETH_ReadPHYRegister(PHYAddress, PHY_BSR) & PHY_Linked_Status) && (timeout < PHY_READ_TO));

    /* Wait until the auto-negotiation will be completed */
    do
    {
      timeout++;
    } while (!(ETH_ReadPHYRegister(PHYAddress, PHY_BSR) & PHY_AutoNego_Complete) && (timeout < (uint32_t)PHY_READ_TO));

,我将这2个地方[]屏蔽以后发现,插入网口 初始化不正常,插上网口初始化也不正常,
网络用的固定 iP 没有用动态协商LWIP_DHCP
源码是正点原子的,
原理图也是

KongQuan 发表于 2018-11-22 09:56:49

本帖最后由 KongQuan 于 2018-11-22 09:57 编辑

https://blog.csdn.net/xukao5671927/article/details/77765464
按这个修改试试.
注:搜索到的,以前也遇到这个问题,要修改lwIP解决的。

miaoguoqiang 发表于 2018-11-22 09:56:52

检测到插入网线后 重新初始化。不需要屏蔽。

蜗牛蜗牛 发表于 2018-11-22 09:58:20

KongQuan 发表于 2018-11-22 09:56
https://blog.csdn.net/xukao5671927/article/details/77765464
按这个修改试试.
注:搜索到的,以前也遇到 ...

我试试谢谢{:smile:}

蜗牛蜗牛 发表于 2018-11-22 09:59:15

miaoguoqiang 发表于 2018-11-22 09:56
检测到插入网线后 重新初始化。不需要屏蔽。

没有用操作系统 ,这个阻塞时间有点长,

wowangru 发表于 2018-11-22 10:37:18

没遇到过!!!!!!!!!!!!!!

jiangzhimin 发表于 2024-6-15 22:17:41

蜗牛蜗牛 发表于 2018-11-22 09:59
没有用操作系统 ,这个阻塞时间有点长,
(引用自5楼)

之前这个问题怎么解决的,遇见和你一样的问题
页: [1]
查看完整版本: 正点原子历程LAN8720A 初始化,必须插上网线,否则失败解决方案