CubeMX4.12,F407,DP83848的工程。。【搞定,我这逗逼又乌龙】
CubeMX4.12,F407,DP83848,支持库最新生成的工程开了FreeRTOS和LWIP,LWIP设定为自动配置IP。。
现在bug是能收(开了LWIP的debug信息,收到后有提示),但是弄死发不出去。。
感觉io配置应该没问题了吧。。
试了下一个老工程,库都完全不一样的。。正常。说明板子没问题。
然后跟了下对Phy reg的写入操作,发现新工程文件有个bug,就是stm32f4xx_hal_conf.h里面把PHY_MICR_INT_OE定义成了2,应该是1
而且很奇怪明明template文件都是1.。。不知道CubeMX搞什么鬼。。。
但是改了之后还是不行,咳咳,此时新老工程对phy的reg操作完全一样了
求一个跟踪问题的方向~~~
----------
咳咳
发现CPU选错了
144的选成100了
新建工程重新分配gpiog就正常了
之前因为rx正常,其他功能正常,也一直没朝那边想。。。
不过也好,把lwip的init代码和hal的eth代码基本上看完了。。
对比了一下新旧工程,发现旧工程的TX 3个pin是init在GPIOG上面
ETH_RMII_TX_EN -----> PG11
ETH_RMII_TXD0 -------> PG13
ETH_RMII_TXD1 -------> PG14
/* Configure PG11, PG14 and PG13 */
GPIO_InitStructure.GPIO_Pin =GPIO_Pin_11 | GPIO_Pin_13 | GPIO_Pin_14;
GPIO_Init(GPIOG, &GPIO_InitStructure);
GPIO_PinAFConfig(GPIOG, GPIO_PinSource11, GPIO_AF_ETH);
GPIO_PinAFConfig(GPIOG, GPIO_PinSource13, GPIO_AF_ETH);
GPIO_PinAFConfig(GPIOG, GPIO_PinSource14, GPIO_AF_ETH);
新的,MX生成的,是GPIOB。而且芯片上似乎也没有GPIOG呀。。
PB11 ------> ETH_TX_EN
PB12 ------> ETH_TXD0
PB13 ------> ETH_TXD1
GPIO_InitStruct.Pin = GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF11_ETH;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
其他pin都一致,所以rx也正确。。直接粗暴改成GPIOG,无用。。
你先确定 GPIOG 楼主。你好我也调节DP83848很久了,总是无法调通,楼主能共享一下你的文件吗 好啊,正好我把N年前自己做的107板子翻出来了。准备玩下。 也是用DP83848
页:
[1]