OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5216|回复: 7

江湖救急!!DP83848 LWIP

[复制链接]

1

主题

4

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2018-7-11
在线时间
4 小时
发表于 2018-7-11 17:09:42 | 显示全部楼层 |阅读模式
13金钱
各位大佬,最近调试STM32F407+LWIP,用的DP83848,在开发板上调试一切正常,换了自己画的板子就卡死,调试发现进入Hard Fault,进入位置在 ETH_Init(&ETH_InitStructure, DP83848_PHY_ADDRESS);原因是用法错误。各位大佬看看我的电路图有没有问题,按照开发板的图改的。新人,只有13个币
2.png
1.png

最佳答案

查看完整内容[请看2#楼]

换成TIM1没问题了,TIM2、3都不行,这几天没空深究了,过两天再看
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2018-7-11
在线时间
4 小时
 楼主| 发表于 2018-7-11 17:09:43 | 显示全部楼层

换成TIM1没问题了,TIM2、3都不行,这几天没空深究了,过两天再看
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2018-7-12 01:43:28 | 显示全部楼层
跟踪进去,单步看,到底哪里一步进入hardfault,再根据进入过程分析问题。
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2018-7-11
在线时间
4 小时
 楼主| 发表于 2018-7-12 17:58:06 | 显示全部楼层
正点原子 发表于 2018-7-12 01:43
跟踪进去,单步看,到底哪里一步进入hardfault,再根据进入过程分析问题。

感谢,定位了问题,貌似跟定时器有关系,关了定时器一切就正常了,只刷一个定时器的程序,单步调试完全正常,全速跑就会进MemManage_Handler或者HardFault_Handler,以前所有的程序在开发板上能跑的,凡是和定时器有关的,下到我的板子上全不能用了。明天接着调
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2018-7-13 01:26:42 | 显示全部楼层
景胜 发表于 2018-7-12 17:58
感谢,定位了问题,貌似跟定时器有关系,关了定时器一切就正常了,只刷一个定时器的程序,单步调试完全正 ...

定时器做了什么事情?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2018-7-11
在线时间
4 小时
 楼主| 发表于 2018-7-13 09:13:08 | 显示全部楼层
正点原子 发表于 2018-7-13 01:26
定时器做了什么事情?

int main(void)
{

    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);
    TIM2_Int_Init(999,839); //100hz
           
    while(1);
}
void TIM2_Int_Init(u16 arr,u16 psc)
{
        TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;
        NVIC_InitTypeDef NVIC_InitStructure;
   
  
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);  ///ê1ÄüTIM3ê±Öó
       
        TIM_TimeBaseInitStructure.TIM_Prescaler=psc;  //¶¨ê±Æ÷·ÖÆμ
        TIM_TimeBaseInitStructure.TIM_CounterMode=TIM_CounterMode_Up; //ÏòéϼÆêyÄ£ê½
        TIM_TimeBaseInitStructure.TIM_Period=(u32)arr;   //×Ô¶ˉÖØ×°ÔØÖμ
        TIM_TimeBaseInitStructure.TIM_ClockDivision=TIM_CKD_DIV1;
       
    TIM_DeInit(TIM2);
   
        TIM_TimeBaseInit(TIM2,&TIM_TimeBaseInitStructure);
       
        TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE); //ÔêDí¶¨ê±Æ÷3¸üDÂÖD¶Ï
        TIM_Cmd(TIM2,ENABLE); //ê1Äü¶¨ê±Æ÷3
   
      NVIC_InitStructure.NVIC_IRQChannel=TIM2_IRQn; //¶¨ê±Æ÷3ÖD¶Ï
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0x01; //ÇàÕ¼óÅÏ輶1
        NVIC_InitStructure.NVIC_IRQChannelSubPriority=0x00; //×óóÅÏ輶3
        NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
        NVIC_Init(&NVIC_InitStructure);

}

//¶¨ê±Æ÷3ÖD¶Ï·tÎñoˉêy
void TIM2_IRQHandler(void)
{
        if(TIM_GetITStatus(TIM2,TIM_IT_Update)==SET) //òç3öÖD¶Ï
        {
//                lwip_localtime +=10; //¼ó10
        }
        TIM_ClearITPendingBit(TIM2,TIM_IT_Update);  //Çå3yÖD¶Ï±ê־λ
}

现在啥也不做了,纯粹测试,关键是以前写的程序跟定时器有关的全都不能用了,怀疑是硬件问题,今天上示波器看看时钟。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165352
金钱
165352
注册时间
2010-12-1
在线时间
2108 小时
发表于 2018-7-14 02:18:28 | 显示全部楼层

解决了么?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

15

主题

58

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
231
金钱
231
注册时间
2017-7-18
在线时间
83 小时
发表于 2018-12-5 13:49:10 | 显示全部楼层

原子哥,请问一下,
看到lan8720_init()函数中,初始化过程中,好像没有直接写PHY(LAN8720)的寄存器吧?是不是只需要配置stm32F429的mac就可以了?
麻烦您了!
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-24 19:09

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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