STM32 nucleo LWIP: UDP empfang geht nicht nach restart send UDP:

OP #4944613
Lesenswert?
• ▲
▼
Hi
sieht jnd auf die schnelle was schief läuft?

Ich sende von PC UDP packete an ein STM32 Nucleo board. Sie kommen auch 
an. Nur wenn ich mein UDP send script neu starte , empfängt mein Nucleo 
die Packete nicht mehr! resete ich die FW empfange ich wieder.
Sieht jnd auf Anhieb was schief läuft?

es funktioniert wenn ich in jeder iteration netconn_delete(conn) 
ausführe und anschliessen wieder new, und netconn_bind ...
Eine Idee wie man es effizienter machen kann?

static void udpecho_thread(void *arg)
{
  err_t err, recv_err;

  LWIP_UNUSED_ARG(arg);

  conn = netconn_new(NETCONN_UDP);
  if (conn!= NULL)
  {
    err = netconn_bind(conn, IP_ADDR_ANY, 127);
    if (err == ERR_OK)
    {
      while (1)
      {
        recv_err = netconn_recv(conn, &buf);

        if (recv_err == ERR_OK)
        {
          addr = netbuf_fromaddr(buf);
          port = netbuf_fromport(buf);
          netconn_connect(conn, addr, port);
          buf->addr.addr = 0;
          netconn_send(conn,buf);
          netbuf_delete(buf);
        }
      }
    }
    else
    {
      netconn_delete(conn);
    }
  }
}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren