你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
michael83 发表于 2015-11-10 11:23 终于搞定啦。。。。。。。。。。。
STM32隐藏
5.18活动板子会不会是STM32L4呢
STM32 CUBE软件中找不到STM32L4系列单片机
Your UAT Feedback is needed within today.
应用
AAA
tiwen
BBBB
aaa
2222
你好,我碰到了同样的问题,先通电再插网线就不通了,你是如何解决得呢,
搞定了也没有一个具体的回复哟 ?????????
项目上正在使用,目前没什么问题。
用了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(Ð_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(Ð_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);
}
}