|
使用STM32F107+LAN8720A芯片,使用RTX5操作系统,应用LWIP,代码移植完成后,网口灯在闪烁,但是PING不通,不知道是什么原因?
移植资料主要来源于《安富莱_STM32-V5开发板_LwIP V2.X网络教程(V0.1)》,但是由于文档中使用的PHY芯片为DM9162,而目前我使用的PHY芯片为LAN8720A。
根据移植资料:
首先通过STM32cubeMX创建一个基础工程,然后在生成的工程中通过配置RTX5操作系统与LWIP,由于LAN8720A在配置中提供相关驱动接口代码,因此代码移植完成后直接添加如下代码:
HAL_GPIO_WritePin(ETH_NRST_GPIO_Port, ETH_NRST_Pin, GPIO_PIN_RESET);
osDelay(1000);
HAL_GPIO_WritePin(ETH_NRST_GPIO_Port, ETH_NRST_Pin, GPIO_PIN_SET);
osDelay(1000);
tcpip_init( NULL, NULL);
IP4_ADDR(&ipaddr, IP_ADDR0, IP_ADDR1, IP_ADDR2, IP_ADDR3);
IP4_ADDR(&netmask, NETMASK_ADDR0, NETMASK_ADDR1 , NETMASK_ADDR2, NETMASK_ADDR3);
IP4_ADDR(&gw, GW_ADDR0, GW_ADDR1, GW_ADDR2, GW_ADDR3);
/* 将网络接口添加到netif_list列表 */
netif_add(&netif, &ipaddr, &netmask, &gw, NULL, ðernetif_init, ðernet_input);
/* 注册默认网络接口 */
netif_set_default(&netif);
netif_is_link_up(&netif);
netif_set_up(&netif);
for (;;) {ethernetif_poll(&netif);}
下载程序后,发现网口灯闪烁,但是ping不通,想请问一下:KEIL配置中提供LAN8720A,在配置PHY芯片地址后,应该不会在配置修改low_level_init、low_level_output、low_level_input、ethernetif_input等函数了吧?还是需要配置其它的地方呀,谢谢!
|
|