OpenEdv-开源电子网

 找回密码
 立即注册

扫一扫,访问微社区

正点原子全套STM32开发资料,上千讲STM32视频教程,RT1052教程免费下载啦...
查看: 573|回复: 6

江湖救急!!DP83848 LWIP

[复制链接]

  离线 

1

主题

4

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
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都不行,这几天没空深究了,过两天再看
回复

使用道具 举报

  离线 

1

主题

4

帖子

0

精华

新手上路

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

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

使用道具 举报

  离线 

508

主题

9万

帖子

31

精华

管理员

Rank: 12Rank: 12Rank: 12

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

使用道具 举报

  离线 

1

主题

4

帖子

0

精华

新手上路

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

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

使用道具 举报

  离线 

508

主题

9万

帖子

31

精华

管理员

Rank: 12Rank: 12Rank: 12

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

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

使用道具 举报

  离线 

1

主题

4

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
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¶Ï±ê־λ
}

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

使用道具 举报

  离线 

508

主题

9万

帖子

31

精华

管理员

Rank: 12Rank: 12Rank: 12

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

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

使用道具 举报

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

本版积分规则




关闭

必看,必学:"原子哥”力荐上一条 /1 下一条

正点原子公众号

QQ|联系我们|手机版|官方淘宝店|微信公众平台|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2018-9-19 05:35

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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