UPD:Решил пойти от обратного. Создал UDP сервер на STM32:
Код
void udp_init_connection(void)
{
ip_addr_t dest_ip;
err_t err;
upcb = udp_new();
if (upcb != NULL)
{
IP4_ADDR(&dest_ip, 169, 254, 166, 3);
err = udp_bind(upcb, &dest_ip, 22);
upcb->local_port = 22;
IP4_ADDR(&dest_ip, 0, 0, 0, 0);
upcb->remote_ip = dest_ip;
upcb->remote_port = 22;
}
if (err == ERR_OK)
{
udp_recv(upcb, udp_receive_callback, NULL);
}
}
Прописал новые IP в функции инициализации lwip:
Код
IP_ADDRESS[0] = 169;
IP_ADDRESS[1] = 254;
IP_ADDRESS[2] = 166;
IP_ADDRESS[3] = 3;
NETMASK_ADDRESS[0] = 255;
NETMASK_ADDRESS[1] = 255;
NETMASK_ADDRESS[2] = 0;
NETMASK_ADDRESS[3] = 0;
GATEWAY_ADDRESS[0] = 169;
GATEWAY_ADDRESS[1] = 254;
GATEWAY_ADDRESS[2] = 166;
GATEWAY_ADDRESS[3] = 1;
Теперь, когда remote_ip = 0.0.0.0 в WireShark вижу посланный с STM32 пакет. Как только указываю IP компьютера, пакеты перестают приходить. STM подключен напрямую к ПК, без роутера. В чем может быть проблема?