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.