Автор вообще пользу из этого пустого спора вынесет?
Цитата
Буфер для формирования пакетов один.
Буфер один, а в LwIP же динамически память выделяется (в моем по крайней мере так) для каждого отправляемого/получаемого пакета
Код
psend = pbuf_alloc(PBUF_TRANSPORT, UDP_ANS_MAX, PBUF_POOL); // выделяем
pbuf_take(psend, UDP_ANS, UDP_ANS_MAX); // copy data to pbuf
udp_connect(upcb_echo, addr, port);//UDP_CLIENT_PORT_MON); // отправляем на этот порт
[b]err = udp_send[/b](upcb_echo, psend);
pbuf_free(psend); // free pbuf /
а дальше
udp_sendto -> udp_sendto_if-> ip_output_if-> ip_output_if_opt-> (netif->output)
там уже где-то Low_level_output(..) где копируется в ДМА буфера.
Можно отследить эту ошибку "err =", но это только гарантия того, что данные передали для ОТПРАВКИ. А дальше они уже улетят так же (как говорили выше) как в UART
Сообщение отредактировал TU-104 - Aug 7 2018, 12:02