硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1979|回复: 14
收起左侧

[有问必答] 程序卡在LAN8720A_Init里,求指导

[复制链接]

30

主题

62

回帖

152

积分

初级会员

积分
152
发表于 2022-11-22 17:12:09 | 显示全部楼层 |阅读模式
使用STM32F407VET6+LAN8720A,程序卡死在        while (ETH_GetSoftwareResetStatus() == SET);//等待软件重启网络完成
哪位提供一下检查思路,万分感谢
微信截图_20221122170720.png
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
发表于 2022-11-23 10:24:06 | 显示全部楼层
上电后先执行个硬件复位,就是你接的那个NRST引脚控制下
回复

使用道具 举报

30

主题

62

回帖

152

积分

初级会员

积分
152
 楼主| 发表于 2022-11-24 11:26:27 | 显示全部楼层
eric2013 发表于 2022-11-23 10:24
上电后先执行个硬件复位,就是你接的那个NRST引脚控制下

感谢,问题已解决,是贴片厂贴片没有贴好,关键是居然所有的都是没贴好的,真的是醉了,之前试了好多,都不行,还以为是设计的问题,芯片取下来重新焊接就解决了
回复

使用道具 举报

3

主题

46

回帖

55

积分

初级会员

积分
55
发表于 2024-8-28 19:13:17 | 显示全部楼层
eric2013 发表于 2022-11-23 10:24
上电后先执行个硬件复位,就是你接的那个NRST引脚控制下

HAL_ETH_Init(&g_eth_handler) == HAL_OK  我的返回值是1  这是为什么呢?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
发表于 2024-8-29 09:22:39 | 显示全部楼层
xiaxinjie 发表于 2024-8-28 19:13
HAL_ETH_Init(&g_eth_handler) == HAL_OK  我的返回值是1  这是为什么呢?

单步调试进去,看看那个位置返回的,方便排错。
回复

使用道具 举报

3

主题

46

回帖

55

积分

初级会员

积分
55
发表于 2024-8-29 09:41:52 | 显示全部楼层
eric2013 发表于 2024-8-29 09:22
单步调试进去,看看那个位置返回的,方便排错。

  while (((heth->Instance)->DMABMR & ETH_DMABMR_SR) != (uint32_t)RESET)
  {
    /* Check for the Timeout */
    if((HAL_GetTick() - tickstart ) > ETH_TIMEOUT_SWRESET)
    {     
      heth->State= HAL_ETH_STATE_TIMEOUT;
  
      /* Process Unlocked */
      __HAL_UNLOCK(heth);
   
      /* Note: The SWR is not performed if the ETH_RX_CLK or the ETH_TX_CLK are  
         not available, please check your external PHY or the IO configuration */
      return HAL_TIMEOUT;
    }卡死在了这里
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
发表于 2024-8-30 12:02:01 | 显示全部楼层
xiaxinjie 发表于 2024-8-29 09:41
while (((heth->Instance)->DMABMR & ETH_DMABMR_SR) != (uint32_t)RESET)
  {
    /* Check for the ...

好多人都是卡死在这里,建议查下以太网PHY的晶振正常工作没,还有就是上电后等待1秒再访问。防止和MCU的复位不同步。
回复

使用道具 举报

3

主题

46

回帖

55

积分

初级会员

积分
55
发表于 2024-8-30 17:34:09 | 显示全部楼层
eric2013 发表于 2024-8-30 12:02
好多人都是卡死在这里,建议查下以太网PHY的晶振正常工作没,还有就是上电后等待1秒再访问。防止和MCU的 ...

看了一下晶振没有工作   
回复

使用道具 举报

3

主题

46

回帖

55

积分

初级会员

积分
55
发表于 2024-9-2 16:34:29 | 显示全部楼层
eric2013 发表于 2024-8-30 12:02
好多人都是卡死在这里,建议查下以太网PHY的晶振正常工作没,还有就是上电后等待1秒再访问。防止和MCU的 ...

晶振有电压没频率  换了晶振还是一样
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
发表于 2024-9-3 00:53:06 | 显示全部楼层
xiaxinjie 发表于 2024-9-2 16:34
晶振有电压没频率  换了晶振还是一样

这样的话,硬件这块确实点问题,没有正常起振。推荐用有源晶振试试。
回复

使用道具 举报

3

主题

46

回帖

55

积分

初级会员

积分
55
发表于 2024-9-3 14:17:29 | 显示全部楼层
eric2013 发表于 2024-9-3 00:53
这样的话,硬件这块确实点问题,没有正常起振。推荐用有源晶振试试。

好的   哥
bsp_Idle();                /* 这个函数在bsp.c文件。用户可以修改这个函数实现CPU休眠和喂狗 */
                if (CanRxflag==1)
                {
                        printf("CAN1 RxFIFO0收到数据:\r\n");
                        print_int_array(g_Can1RxData, 8);
                        CanRxflag=0;
             }
       // lwip_periodic_handle();         /* LWIP轮询任务 */
                printf("正常\r\n");
                                  can1_SendPacket(g_Can1TxData, 8);
        bsp_DelayMS(1000);
我这个程序第三次就会卡死在can的发送程序哪里 是为什么呢
回复

使用道具 举报

3

主题

46

回帖

55

积分

初级会员

积分
55
发表于 2024-9-3 17:12:33 | 显示全部楼层
eric2013 发表于 2024-9-3 00:53
这样的话,硬件这块确实点问题,没有正常起振。推荐用有源晶振试试。

现在换了晶振 了还是这样子 大佬
回复

使用道具 举报

3

主题

46

回帖

55

积分

初级会员

积分
55
发表于 2024-9-3 17:14:34 | 显示全部楼层
eric2013 发表于 2024-9-3 00:53
这样的话,硬件这块确实点问题,没有正常起振。推荐用有源晶振试试。

大佬 如果我卡死在这里   我可以读出我的芯片ID?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115434
QQ
发表于 2024-9-4 08:56:32 | 显示全部楼层
xiaxinjie 发表于 2024-9-3 17:14
大佬 如果我卡死在这里   我可以读出我的芯片ID?

卡死在这里,应该读取不正常吧
回复

使用道具 举报

3

主题

46

回帖

55

积分

初级会员

积分
55
发表于 2024-9-4 13:34:30 | 显示全部楼层
eric2013 发表于 2024-9-4 08:56
卡死在这里,应该读取不正常吧

确实读取不正常   我的晶振现在可以正常工作了 但是还是卡死在这里    这是这个位的解释: SR:软件复位 (Software reset)
当该位置 1 时,MAC DMA 控制器会复位所有 MAC 子系统的内部寄存器和逻辑。在所有内
核时钟域完成复位操作后,该位自动清零。重新编程任何内核寄存器之前,在该位中读取
0 值核时钟域完成复位操作后,该位自动清零。重新编程任何内核寄存器之前,在该位中读取
0 值。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-4-26 04:56 , Processed in 0.325628 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表