stm32 Cubemx Lwip裸机测试ping不通,不亮灯

本人遇到STM32F767IGTx使用CubeMX ETH_-RMII-LWIP 裸机测试无法正常ping解决方案,且指示灯不亮

使用正点原子STM32F767开发板通过CubeMX 配置ETH-RMII-LWIP
1.原理图
在这里插入图片描述
特别注意 ETH_RESET 使用的PD3 正点原理通过pcf8574连接PD3.一定要初始化.

2.时钟配置在这里插入图片描述
在这里插入图片描述
3.ETH配置
在这里插入图片描述
在这里插入图片描述
4.LWIP配置,不使用DHCP
在这里插入图片描述
5.配置栈大小在这里插入图片描述
6.main.c

void App_init(void)
{
     printf("hello zorb\r\n");
}
/* USER CODE END PM */
void App_process(void)
{
 
}
int main(void)
{
  HAL_Init();
  SystemClock_Config();
  IIC_Init();       //特别主要一定不要掉了
  PCF8574_Init();   //特别主要一定不要掉了 否则不管怎么ping都ping不通
  MX_GPIO_Init();
  MX_USART1_UART_Init();
  MX_LWIP_Init();
  
  while (1)
  {
    MX_LWIP_Process();
	App_process();
  }
}

7.lwip.c

void MX_LWIP_Init(void)
{
	struct netif *Netif_Init_Flag;
  /* IP addresses initialization */
  PCF8574_WriteBit(ETH_RESET_IO,1);       //硬件复位
  delay_ms(100);
  PCF8574_WriteBit(ETH_RESET_IO,0);       //复位结束
  delay_ms(100);
  //注意上面PCF8574_WriteBit  硬件复位调用位置,这个位置使用错误指示灯无法点亮,如果pcf8574没有初始化成功,指示灯也不会亮.也ping不通.
  IP_ADDRESS[0] = 192;
  IP_ADDRESS[1] = 168;
  IP_ADDRESS[2] = 1;
  IP_ADDRESS[3] = 100;
  NETMASK_ADDRESS[0] = 255;
  NETMASK_ADDRESS[1] = 255;
  NETMASK_ADDRESS[2] = 255;
  NETMASK_ADDRESS[3] = 0;
  GATEWAY_ADDRESS[0] = 192;
  GATEWAY_ADDRESS[1] = 168;
  GATEWAY_ADDRESS[2] = 1;
  GATEWAY_ADDRESS[3] = 1;
  
  /* Initilialize the LwIP stack without RTOS */
  lwip_init();

  /* IP addresses initialization without DHCP (IPv4) */
  IP4_ADDR(&ipaddr, IP_ADDRESS[0], IP_ADDRESS[1], IP_ADDRESS[2], IP_ADDRESS[3]);
  IP4_ADDR(&netmask, NETMASK_ADDRESS[0], NETMASK_ADDRESS[1] , NETMASK_ADDRESS[2], NETMASK_ADDRESS[3]);
  IP4_ADDR(&gw, GATEWAY_ADDRESS[0], GATEWAY_ADDRESS[1], GATEWAY_ADDRESS[2], GATEWAY_ADDRESS[3]);

  /* add the network interface (IPv4/IPv6) without RTOS */
  Netif_Init_Flag = netif_add(&gnetif, &ipaddr, &netmask, &gw, NULL, &ethernetif_init, &ethernet_input);
 
  /* Registers the default network interface */
 
 if(Netif_Init_Flag == NULL) 
 {
     printf("netif_add_eorr\n");
 
 }else{
      netif_set_default(&gnetif);
	  netif_set_up(&gnetif);
 }
}

在这里插入图片描述
本人也是初次接触使用cubemx编写lwip,如果有不对的欢迎指出.希望对初学者有所帮助.

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值