столкнулся с такой проблемой-
если записать так:
Код
socket(0,Sn_MR_UDP,3000,0);
socket(0,Sn_MR_UDP,3001,0);
то есть, я сначала один порт src указал, а потом его поменял, то программа не работает.
wireshark пишет, что адрес dst не корректен. Т.е. визнет не хочет при двойном открытии сокета записывать src port.
Даже, если принудительно вписать туда номер порта
Код
temp = (IINCHIP_READ16 (Sn_PORT0(0)));
IINCHIP_WRITE16 (Sn_PORT0(0), 3001);
temp = (IINCHIP_READ16 (Sn_PORT0(0)));
и считать его в переменную, то один хрен прога не работает.
в даташите на визнет написано, что запись порта д.б. до включения сокета. Это и сделано, если вызвать ф-ю
Код
socket(0,Sn_MR_UDP,3001,0);
она сначала закрывает сокет, меняет все, открывает заново.
но и так не работает.
из-за чего это может быть?