你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F207+DP83848+Lwip如何不插网线初始化,之后插入网线正常...

[复制链接]
大鱼飞呀飞 提问时间:2014-5-21 14:09 /
阅读主题, 点击返回1楼
收藏 2 评论15 发布时间:2014-5-21 14:09
15个回答
图涂途凃 回答时间:2017-12-7 10:36:11
我在 STM32F107 上已经实现了,和你的问题描述有点不一样:不插网线初始化LWIP,臣妾做不到...   插入网线正常通信,臣妾做到了这个是:不插网线开机,定时5s不断初始化网口,一旦插上网线并且网口初始化成功后再初始化LWIP。之后就可以正常运行,热插拔也没问题。
项目上正在使用,目前没什么问题。

用了ucosii 的官方例程或者大神们移植的程序

首先在BSP_Init() 中找到 ETH_BSP_Config();再找到 Ethernet_Configuration();(程序中我注释了,原因是把这个函数放到任务中定时调用)
void ETH_BSP_Config (void)
{
    /* Configure the GPIO ports for ethernet pins */
    ETH_GPIO_Config();

    /* Config NVIC for Ethernet */
    ETH_NVIC_Config();

    /* Configure the Ethernet peripheral */
//  Ethernet_Configuration();

打开 Ethernet_Configuration();找到 ETH_Init(&ETH_InitStructure, PHY_ADDRESS);这个函数是初始化网口的,是否连接上网口这个函数返回值不同
ETH_Link_Flage 在任务中判断网口是否初始化成功(是否插上网线),连上了就删除初始化网口的任务。以后不管插拔网线都可以连上
建议去仔细看看 uint32_t ETH_Init(ETH_InitTypeDef* ETH_InitStruct, uint16_t PHYAddress) 中干了什么!!!
void Ethernet_Configuration (void)
{
    .
    .
    .
    .

    /* Configure Ethernet */
ETH_Link_Flage = ETH_Init(&ETH_InitStructure, PHY_ADDRESS);

    /* Enable the Ethernet Rx Interrupt */
    ETH_DMAITConfig(ETH_DMA_IT_NIS | ETH_DMA_IT_R, ENABLE);
}


下面是初始话网口的任务
void Net_Init (void *pdata)
{
        extern u8 ETH_Link_Flage
        while(1)
        {
                if(ETH_Link_Flage == 1)
                {
                        LwIP_Init();
                        LwIP_Pkt_Sem = OSSemCreate(0);
                        OSTaskCreate(LwIP_Pkt_task, (void *)NULL, (OS_STK *)&LwIP_Pkt_Task_STK[LwIP_Pkt_STK_Size-1], LwIP_Task_PRIO);
                        OSTaskDel(NetInit_TASK_PRIO);
                }
                else
                {
                        Ethernet_Configuration();
                }
                OSTimeDlyHMSM(0,0,5,0);
        }
}



12
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版