打印

GD32F4以太网在软件复位时卡住

[复制链接]
6882|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我使用的是官方1.4的库里的以太网例程,连接网线下载程序后,打开DEBUG发现程序一直卡在 reval_state = enet_software_reset();
进去后发现,dma_flag = (ENET_DMA_BCTL & ENET_DMA_BCTL_SWR); SWR位一直不复位。

使用特权

评论回复
评论
wyzzcjw 2021-8-10 14:17 回复TA
请问楼主解决了吗,我也遇到这个问题了 
沙发
WESTARK|  楼主 | 2020-7-6 18:49 | 只看该作者
enet_system_setup();
enet_gpio_config();
enet_mac_dma_config();

    reval_state = enet_software_reset();
    if(reval_state == ERROR){
        while(1){}

}

    /* reset all core internal registers located in CLK_TX and CLK_RX */
    ENET_DMA_BCTL |= ENET_DMA_BCTL_SWR;

    /* wait for reset operation complete */
    do{
        dma_flag = (ENET_DMA_BCTL & ENET_DMA_BCTL_SWR);
        timeout++;
    }while((RESET != dma_flag) && (ENET_DELAY_TO != timeout));



PHY芯片配置的管脚也是对的,PHY芯片也复位了,但就是卡在软件复位这里。
有没有大佬帮忙看下。

使用特权

评论回复
板凳
zyb763244388| | 2020-7-27 11:35 | 只看该作者
楼主问题解决了吗,我也遇到相同的问题了...

使用特权

评论回复
地板
coshi| | 2020-8-3 18:18 | 只看该作者
纯硬件复位可以吗

使用特权

评论回复
5
aoyi| | 2020-8-3 18:19 | 只看该作者
先排除一下是硬件问题还是软件问题啊

使用特权

评论回复
6
drer| | 2020-8-3 18:19 | 只看该作者
帮楼主顶一下

使用特权

评论回复
7
gwsan| | 2020-8-3 18:19 | 只看该作者
楼主问题解决了吗

使用特权

评论回复
8
kxsi| | 2020-8-3 18:19 | 只看该作者
我也很关心这个问题

使用特权

评论回复
9
yyyxh| | 2021-2-22 13:02 | 只看该作者
楼主,后来问题解决了吗,我也遇到了

使用特权

评论回复
10
smilegogo| | 2021-2-26 10:22 | 只看该作者
void enet_deinit(void)
{
    rcu_periph_reset_enable(RCU_ENETRST);
    rcu_periph_reset_disable(RCU_ENETRST);
    enet_initpara_reset();
    rcu_periph_reset_enable(RCU_ENETRST);//新增
}
在void enet_deinit(void)函数中,新增 rcu_periph_reset_enable(RCU_ENETRST);软件复位就可以过

使用特权

评论回复
11
sadicy| | 2021-8-14 11:34 | 只看该作者
复位不成功?

使用特权

评论回复
12
紫气东升| | 2021-8-14 11:51 | 只看该作者
本帖最后由 紫气东升 于 2021-8-14 11:54 编辑

我用来测试的板子,用着用着突然间发现看门狗一直复位。在线调试也是一直卡在这一步。经过硬件人员的分析,是因为PHY网口芯片坏了。检测是不是PHY芯片坏了,可以将板子的网线直接连到电脑上,然后打开电脑的网络设置,看里面的以太网连接是否正常,如果没有检测到,说明就是芯片坏了。

00.png (19.9 KB )

图中红框是正常连接电脑检测到的

图中红框是正常连接电脑检测到的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

11

帖子

0

粉丝