STM32CubeMX ETH LAN8720A LWIP FreeRTOS配置记录
1、ETH 模式RMII,PHY Address 设置为0(不同的芯片不一样,LAN8720A是0),Rx Mode为中断模式,TX IP Header Checksum Computation为By Hardware;
2、LWIP设置:
- Checksum栏使用硬件校验,其它全部关闭
- General Setting里配置手动IP,启动DNS模块(为了使用gethostbyname())
- Key Option栏关闭TCP Options的TCP_QUEUE_OOSEQ
3、编辑LWIP/Target/ethernetif.c,在HAL_ETH_MspInit的最后增加
/* USER CODE BEGIN ETH_MspInit 1 */
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_0, GPIO_PIN_RESET);
osDelay(50);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_0, GPIO_PIN_SET);
/* USER CODE END ETH_MspInit 1 */
根据实际修改IO口,这是重启LAN8720A的脚
/* End */