|
tcp_check_send выдает нулевое значение, Стек Keil 4.72 |
|
|
|
Jul 27 2014, 11:40
|
Гуру
     
Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446

|
Функция Код tcp_check_send (my_socket) стала возвращать нулевое значение. Из-за этого не происходит передачи. Раньше все работало хорошо. Внесенные изменения коснулись лишь сохранения значений во внешнюю EEPROM. Хочу спросить как можно узнать что повлияло и что вообще может повлиять. Спасибо.
--------------------
Живи днем так, чтобы ночью ты спал спокойно.
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 14)
|
Jul 28 2014, 18:47
|
Гуру
     
Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446

|
Цитата(Golikov A. @ Jul 28 2014, 18:39)  а что tcp_get_state возвращает? Может коннект по какой-то причине закрылся? Пробовал вот так переписывать, но результат тот же: Код void send_data (void) { unsigned char remip[4] = {192,168,0,1};
switch (tcp_get_state (my_socket)) { case TCP_STATE_FREE: case TCP_STATE_CLOSED: /* Connection idle, send Connect Request. */ tcp_connect (my_socket, remip, PortNumber, 0); break; case TCP_STATE_CONNECT: /* We are connected, send command to remote peer. */ if (tcp_check_send (my_socket)) { maxlen = tcp_max_dsize (my_socket); if(maxlen > 255) maxlen = 255; sendbuf = tcp_get_buf (maxlen); memcpy (sendbuf, my_tx_buff, maxlen); tcp_send (my_socket, sendbuf, maxlen); } break; } } Попадает на ту же функцию и опять передачи нет.
--------------------
Живи днем так, чтобы ночью ты спал спокойно.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|