STM32

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 */