jenya7 0 11 декабря, 2018 Опубликовано 11 декабря, 2018 · Жалоба За два часа создал TCP сервер на Wiznet. Цена вопроса 3.5 долара – готовый демо борд – с одной стороны подключил контролер с другой воткнул кабель и готово. Возникает вопрос – зачем нужны навороченные камни с фаями и маками когда есть такое простое решение? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 11 декабря, 2018 Опубликовано 11 декабря, 2018 · Жалоба Вот в том месте где Wiznet подключается к контроллеру и будет слабое звено. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ikm 3 11 декабря, 2018 Опубликовано 11 декабря, 2018 · Жалоба 1.Не у всех есть достаточно места для дополнительного контроллера. 2. Кроме интерфейса TCP/IP и сервера должны выполнятся другие задачи и МК для них может стоит гораздо дороже 3.5 $, и как правило Eth там уже есть, тогда зачем выкидывать лишние 3.5 $ Каждый разработчик живет в своем ограниченном мире задач и вопрос зачем они нужны другим не корректен, просто сейчас такие чипы не нужны вам. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 11 декабря, 2018 Опубликовано 11 декабря, 2018 · Жалоба 14 минут назад, jenya7 сказал: когда есть такое простое решение? 1) TCP сервер нужен не только лишь всем. 2) Сколько соединений Wiznet умеет поддерживать одновременно? 3) Я так понимаю, вы за два часа полносью написали всю программу с нуля? Нет? Тогда попробуйте сделать шаг вправо или влево от того, что задумали авторы вашего примера. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 11 декабря, 2018 Опубликовано 11 декабря, 2018 · Жалоба 5 minutes ago, AlexandrY said: Вот в том месте где Wiznet подключается к контроллеру и будет слабое звено. Wiznet поддерживает скорость до 80 мега. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 11 декабря, 2018 Опубликовано 11 декабря, 2018 (изменено) · Жалоба 18 minutes ago, Сергей Борщ said: 1) TCP сервер нужен не только лишь всем. 2) Сколько соединений Wiznet умеет поддерживать одновременно? 3) Я так понимаю, вы за два часа полносью написали всю программу с нуля? Нет? Тогда попробуйте сделать шаг вправо или влево от того, что задумали авторы вашего примера. у них есть примеры DHCP, DNS, FTPClient, FTPServer, httpServer, MQTT, SNMP, SNTP, TFTP. По моему все потребности покрыли. 8 сокетов RX и 8 сокетов TX. зачем писать с нуля? у них прекрасная библиотека и прекрасные отлаженные примеры. нужно написать только апликативный лэер. 19 minutes ago, ikm said: 1.Не у всех есть достаточно места для дополнительного контроллера. 2. Кроме интерфейса TCP/IP и сервера должны выполнятся другие задачи и МК для них может стоит гораздо дороже 3.5 $, и как правило Eth там уже есть, тогда зачем выкидывать лишние 3.5 $ Каждый разработчик живет в своем ограниченном мире задач и вопрос зачем они нужны другим не корректен, просто сейчас такие чипы не нужны вам. Вы транс и обвязку все равно будете ставить. Это не стоит денег? И камень вы можете взять дешевле без Eth . я понимаю это to good to be true вот пытаюсь понять где подвох. Изменено 11 декабря, 2018 пользователем jenya7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 11 декабря, 2018 Опубликовано 11 декабря, 2018 · Жалоба 51 minutes ago, jenya7 said: Wiznet поддерживает скорость до 80 мега. 80 там поддерживает только 100 ногий жрущий монстр W5300. Но набор протоколов у него никакой. IPv6 даже нет. Идет с голым Socket API для bareboard. Делайте выводы. И еще. Единственная заявленная совместимость с известными проектами у Wiznet есть только с mbed. Но там mbed целиком располагается в их чипах W7500 с Cortex-M0. Т.е. по честному разгрузить сторонний TCP стек с помощью Wiznet так просто не выйдет. Это не считая невозможности отладки всего что ниже TCP. Короче как был этот Wiznet довольно нишевым продуктом таким и остался. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 11 декабря, 2018 Опубликовано 11 декабря, 2018 · Жалоба то что я привел выше это для W5500. Не знаю с чем у него совместимость, проект я писал в IAR под STM32F3. нормальная отладка, я могу спуститься на любой уровень. Зачем грузить сторонний стек? чем родной плох? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
WHILE 0 11 декабря, 2018 Опубликовано 11 декабря, 2018 · Жалоба 2 часа назад, jenya7 сказал: у них есть примеры DHCP, DNS, FTPClient, FTPServer, httpServer, MQTT, SNMP, SNTP, TFTP. По моему все потребности покрыли. 8 сокетов RX и 8 сокетов TX. зачем писать с нуля? у них прекрасная библиотека и прекрасные отлаженные примеры. нужно написать только апликативный лэер. Я работал с W7500. Примеров с ним они дают вдвое меньше чем вы перечислили.Да и насчет прекрасной библиотеки и отлаженного кода у меня совсем другое впечатление сложилось. Сделано на отвяжись, и самое хреновое что написано все в жестком однопоточном варианте, который там просто прибит гвоздями. При работе с РТОС практически все надо переписывать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 11 декабря, 2018 Опубликовано 11 декабря, 2018 · Жалоба 1 hour ago, jenya7 said: то что я привел выше это для W5500. Не знаю с чем у него совместимость, проект я писал в IAR под STM32F3. нормальная отладка, я могу спуститься на любой уровень. Зачем грузить сторонний стек? чем родной плох? Не надо так старательно передергивать. TCP стек в Wiznet для вас закрыт и ничего отладить там не можете. W5500 не поддерживает 80 mbit. Повеселило их традиционное "Not support IP Fragmentation" Эт вам еще предстоит куда нибудь тыркнутся со свом Wiznet, а он там не будет работать ни в какую. Не думайте что вы здесь такой Колумб. Wiznet тут обсасывался еще 10 лет назад. Сам на нем обжегся. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 11 декабря, 2018 Опубликовано 11 декабря, 2018 · Жалоба 4 minutes ago, WHILE said: Я работал с W7500. Примеров с ним они дают вдвое меньше чем вы перечислили.Да и насчет прекрасной библиотеки и отлаженного кода у меня совсем другое впечатление сложилось. Сделано на отвяжись, и самое хреновое что написано все в жестком однопоточном варианте, который там просто прибит гвоздями. При работе с РТОС практически все надо переписывать. ок. это уже аргумент. осталось понять где тут жесткий однопоточный вариант int32_t WIZNET_Run(uint8_t sn, uint8_t* buf, uint16_t port) { int32_t ret; uint16_t size = 0, sentsize=0; #if _TCP_DEBUG_ uint8_t destip[4]; uint16_t destport; #endif uint8_t status = getSn_SR(sn); switch(status) { case SOCK_ESTABLISHED : //if(getSn_IR(sn) & Sn_IR_CON) if (status & Sn_IR_CON) { #if _TCP_DEBUG_ getSn_DIPR(sn, destip); destport = getSn_DPORT(sn); printf("%d:Connected - %d.%d.%d.%d : %d\r\n",sn, destip[0], destip[1], destip[2], destip[3], destport); #endif setSn_IR(sn, Sn_IR_CON); } if((size = getSn_RX_RSR(sn)) > 0) // Don't need to check SOCKERR_BUSY because it doesn't not occur. { if(size > DATA_BUF_SIZE) size = DATA_BUF_SIZE; ret = recv(sn, buf, size); if(ret <= 0) return ret; // check SOCKERR_BUSY & SOCKERR_XXX. For showing the occurrence of SOCKERR_BUSY. sentsize = 0; while(size != sentsize) { ret = send(sn, buf+sentsize, size-sentsize); if(ret < 0) { close(sn); return ret; } sentsize += ret; // Don't care SOCKERR_BUSY, because it is zero. } } break; case SOCK_CLOSE_WAIT : #if _TCP_DEBUG_ printf("%d:CloseWait\r\n",sn); #endif if((ret = disconnect(sn)) != SOCK_OK) return ret; #if _TCP_DEBUG_ printf("%d:Socket Closed\r\n", sn); #endif break; case SOCK_INIT : #if _TCP_DEBUG_ printf("%d:Listen, TCP server , port [%d]\r\n", sn, port); #endif if( (ret = listen(sn)) != SOCK_OK) return ret; break; case SOCK_CLOSED: #if _TCP_DEBUG_ printf("%d:TCP server start\r\n",sn); #endif if((ret = socket(sn, Sn_MR_TCP, port, 0x00)) != sn) return ret; #if _TCP_DEBUG_ printf("%d:Socket opened\r\n",sn); #endif break; default: break; } return 1; } код бежит в своем потоке. а как иначе должно быть? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 11 декабря, 2018 Опубликовано 11 декабря, 2018 · Жалоба Just now, jenya7 said: ок. это уже аргумент. осталось понять где тут жесткий однопоточный вариант код бежит в своем потоке. а как иначе должно быть? Только покажите здесь следы потока. Эт че, теперь любую функцию потоком называют? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
WHILE 0 11 декабря, 2018 Опубликовано 11 декабря, 2018 · Жалоба 1 минуту назад, AlexandrY сказал: перь любую ф 2 минуты назад, AlexandrY сказал: Только покажите здесь следы потока. Эт че, теперь любую функцию потоком называют? Присоединяюсь к Александру. Сравните с этой корейской писаниной mbed-овский стэк для WIZNET. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 11 декабря, 2018 Опубликовано 11 декабря, 2018 · Жалоба 5 minutes ago, AlexandrY said: Не надо так старательно передергивать. TCP стек в Wiznet для вас закрыт и ничего отладить там не можете. W5500 не поддерживает 80 mbit. Повеселило их традиционное "Not support IP Fragmentation" Эт вам еще предстоит куда нибудь тыркнутся со свом Wiznet, а он там не будет работать ни в какую. Не думайте что вы здесь такой Колумб. Wiznet тут обсасывался еще 10 лет назад. Сам на нем обжегся. The W5500 SPI supports 80 MHz speed and the new efficient SPI protocol, so users can implement high speed network communication. А зачем открытый TCP стек? Я в LWIP никогда ничего не правил. Зачем IP Fragmentation нужна? для передачи web страниц? 5 minutes ago, AlexandrY said: Только покажите здесь следы потока. Эт че, теперь любую функцию потоком называют? а что для вас поток? какие чудеса вы от него ждете? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 11 декабря, 2018 Опубликовано 11 декабря, 2018 · Жалоба 16 minutes ago, jenya7 said: А зачем открытый TCP стек? Я в LWIP никогда ничего не правил. А тут даже теоретически не будет такой возможности. 16 minutes ago, jenya7 said: Зачем IP Fragmentation нужна? для передачи web страниц? Для работы в интернетах дальше стола. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться