首页 > 解决方案 > UDP STM32-错误:无法访问目标主机

问题描述

我正在尝试在 stm32 NUCLEO-F746ZG 板上建立 UDP 通信。但我无法ping通。收到消息为“无法访问目标主机”。程序没有进入 udp_echoserver_receive_callback() 函数。

int main(void)
    {

  HAL_Init();
  SystemClock_Config();
  MX_GPIO_Init();
  MX_LWIP_Init();
  while (1)
  {
      MX_LWIP_Process();
  }
}


void udp_echoserver_init(void)
{
     struct udp_pcb *upcb;
       err_t err;
       upcb = udp_new();

       if (upcb)
       {
           ip_set_option(upcb, SOF_BROADCAST);
          err = udp_bind(upcb, IP_ADDR_ANY, 80);

          if(err == ERR_OK)
          {

            udp_recv(upcb, udp_echoserver_receive_callback, NULL);
          }
          else
          {
            udp_remove(upcb);
          }
       }
}

void udp_echoserver_receive_callback(void *arg, struct udp_pcb *upcb, struct pbuf *p, const ip_addr_t *addr, u16_t port)
{
  pc = (char*)p->payload;
  pbuf_free(p);
}

标签: udpstm32

解决方案


推荐阅读