Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
 
v_sshuryk
0 / 0 / 0
Регистрация: 01.05.2015
Сообщений: 13
1

Вопрос по работе с lwip Netconn

17.08.2017, 01:59. Просмотров 1970. Ответов 0
Метки нет (Все метки)

Здравствуйте коллеги!

Давно хотел и вот, наконец, решил на днях заняться изучением Ethernet TCP/IP. Почитал информацию о протоколе, к сожалению раньше не вникал в него, посмотрел примеры реализации клиентов и серверов на разные модели контроллеров и решил, что ничего тут особо сложного нет. Скачал последний куб, сконфигурировал проект с Rtos, lwip и начал тестировать разные примеры имеющиеся на просторах интернета. Из вариантов работы с lwip выбрал netconn. Наигравшись с примерами решил сделать свою программку, вот тут то я и встрял и уж как несколько дней не могу продвинуться толком никуда. А именно: мне не нужен веб сервер, хочу организовать небольшую сетку из контроллеров, где каждый отвечает за свой набор датчиков и исполнительных механизмов и все они обмениваются между собой по TCP/IP. Т.е. контроллер должен формировать данные с разным типом переменных (int, char, string и другие) закидывать их в общий пакет и отправлять по сетке. Соответственно другой контроллер должен эти данные принимать, обрабатывать, формировать из них лог и писать на флешку. Так вот в этом у меня и загвоздка, т.е. как эти разнотиповые данные запихивать в пакет, как их отправлять и соответственно на обратной стороне как их правильно принимать и в последующем разбирать по полочкам, по типам данных, чтобы осуществлять их дальнейшую обработку. В интернете толковых примеров не нашел, какого-либо детального алгоритма на прием передачу данных тоже, вот и решил просить о содействии всех кто с этим на ТЫ и может дать дельную консультацию, пример, ссылку ну и прочее содействие, а не просто отсылать куда подальше, мол читай документацию и прочее, это все само собой. Однако всегда проще послушать кого-то и уже потом в разного рода документации пытаться детально разбираться и вникать.
Стандартный код эхо.
Код
  conn = netconn_new(NETCONN_TCP);

if (conn!=NULL)
{
/* Bind connection to well known port number 7. */
err = netconn_bind(conn, NULL, 7);

if (err == ERR_OK)
{
/* Tell connection to go into listening mode. */
netconn_listen(conn);

while (1)
{
/* Grab new connection. */
accept_err = netconn_accept(conn, &newconn);

/* Process the new connection. */
if (accept_err == ERR_OK)
{

while (netconn_recv(newconn, &buf) == ERR_OK)
{
do
{
netbuf_data(buf, &data, &len); // я так понимаю все данные нужно выдергивать отсюда

netconn_write(newconn, data, len, NETCONN_COPY); // а тут все данные пересылать

}
while (netbuf_next(buf) >= 0); // понятно что все это должно быть организовано в разных while или как-то иначе

netbuf_delete(buf);
}

/* Close connection omd discard connection identifier. */
netconn_close(newconn);
netconn_delete(newconn);
}
}
}
else
{
netconn_delete(newconn);
}
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.08.2017, 01:59
Ответы с готовыми решениями:

LwIP http без LwIP стека
Всем доброго дня! А кто нибудь пробовал отделить LwIP http веб сервер от...

STM32F217 & LwIP 1.3.2
Имеем плату storterkit STM32F217. Ethernet PHY: KSZ8721BL. OS: FriiRTOS. С...

LWIP на LPC2368
Хочу поднять LWip на LPC2368 без FriirTOS. Необходимо сделать TCP-client,...

STM32F407-lwip-sockets
Связываю PC и STM32F407, подключаю через socket. Все работает, но, если...

STM32+LWIP+HTTP
Доброго времени! Может кто знает решение данной проблемы. На STM32 развернут...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.08.2017, 01:59

Проблема STM32F4+lwIP
Доброй ночи уважаемые форумчаны. Начал разбираться с Ethernet под STM32F4. В...

LPC2368 + FreeRTOS + LwIP
Реально ли запустить на стек lwip на камне LPC2368 с ROM на борту 32 кБ? При...

STM32746G-EVAL2 LwIP
Доборго дня! Никто тут не сталкивался с этой платкой? Или хотя бы с STM32F7...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru