Форум программистов, компьютерный форум, киберфорум
Наши страницы
Цифровая обработка сигналов
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/26: Рейтинг темы: голосов - 26, средняя оценка - 4.88
BORS_
0 / 0 / 0
Регистрация: 24.09.2012
Сообщений: 278
1

Работа с W5500

02.03.2016, 15:57. Просмотров 5066. Ответов 11
Метки нет (Все метки)

Доброго времени суток.
Пытаюсь запустить Ethernet микруху W5500. Настройки работают, IP и порт настроил, запустил Сокет 0. Теперь хочу передать данные, Записываю 500 "!" в передающий буфер 0 сокета начиная с нулевого адреса и шлю ему команду SEND. Передача идет, но передается нечто странное. Во-первых передается данных гораздо больше, чем размер буфера, а во-вторых передаются какая-то чушь типа такого:
EЯTJ‰~ѓ§AщџЕ†[MШ№iфEА*°0UЏПЬµRзyф1єћмэBs2Щ{O,Чe Иѕз Q7=M\—вќ™гxДЈ†~кзпНО«Z|ѓхћЏъLРЭ&Х7–ҐIюоmAЦgїТCСЊg±ѓRґjЗtђтҐ!\sЕФ[т’®єdN•Б~Lцс&p:юЕ\Р
™М{FF}T№dВYІh*)П7·#Z†«Uµ«;}&5ы}Dbі…!ЫИ•>d&АЎqџР3b7Е8A=хeѓ…нЄЃп|§(IС=ўЭJOa3r?0®p€5UYа^XCбИG„]ЅмDѕ‚‚з ќeд§Эф}3ґьюjћ®D`Г „LУ6GхrнМпД©Lы•4s5х°ЅЏ|b?ћнК‚by“nDZ{FF}rфЫчЕХWNЬРѕУ¦›љЏВ’еeд-v0E_EWЙi*хvѓsьзР:Г&XmY"/S2nПёЧл№Нг~ !KоУЧа)Ћ.@И±|9±&ц\AZЧќ‡ёГ,3}dвHуЪж
)Мю=јѓіDНDnPU®Фµй±ТgM=*UFъсЉVA—wїjзЩЗ jIэЧ;=…‘ьх›&.!_9Еш:щ2NOП_#<**r¶єµ©ЙcСt78›gћ~¤фЇ!Хy:@Ўeі»qZ_аj,ВЪL‚r«
"ЎыЅЏi)шЅ5bс$ЏРmёГКЮРHЮШЂошSlЄ‡E@Ѓ@±mы,¤ЦўQаuQPАјы{FF}wuГђЎ§RGz]њ•CЌ#wGЃг(А‹EQT2{FF}>5/йјЏЎ№ЋЃ’к§—19ФЦ–ХДu1ХБќќl•ЩЮ{ы6Р †%ЯсљlmШдЧф"ЦgЦ4ФжOк*€[Ё|Ї›ї_d‚–Й7A$%Uv0vк¤тМ#ЁCтЩ;•nЖЎРїТaф^ВE·ЎИЧхЖ‡—0?/ОљPУЯдж]ъ{FF}Ц±“•ҐaOМ»FЂ.oсkb/Ѓнwђ§4M*Љ(J$‚$ђµнmrБќ.ЫU%UпґБіх¤Б8%> Д©€ІуKd—СТQѓЧ‹TЌ¬Ьз°™#TQЧB¤@џЗЅB gQПrЫПY9йtн…*йСЛ•Х6ф.рµGЏ0ўё‘%пЌщ№Ўµ±?"_8М@LВfц†nСѓкѓ~ћoЊж°зЄвЗyМЕЧшњNЄДГ›†–Ю+k·ДVЉFAЈц3і8hЕ]F…;‰ЕтV.Q°L№“ы^эч¦›Ґѕ‘•bxпuєЙ<ЮА№БЄЋjСбY#~џ;JЁСT=‘оЫdBDR‰њэ%®©:ъГдFNЉаf-oЅшо{FF}W†¬[ѕp5ц©fПуUЋГUЖЈДыJ=8гэѕ›=Ы)ЂП`У||ґфь^ЇdІВ]ЩЩЛѓч‰T="EчSш5uТс¦TµAћЧЄe—ѓ›nJЬ>tЉФл5Шъ:њ!<•^цe,±јIьЊЃz=plGџsъЪ*lщ"Voо№Џмј®‡gпн@DІДЋ‹щ_»¤™mХ©vЧе€3ZЇ…чWьдСjН{FF}2rJ?Kf*а*™Wє°Б_кІYАиG=Ѓ?еaЯЯ},л"0‰&ПЙЈщ«IW2фѓЃ~ФЦЄ1yщЛљЙПЉ(Ў3лЉ‡P„H"јЮOCљщЃ"еPљР*ИћF¬iнL_——‡Й
^¦uщїЛLЭ‚*?ђBЩЙоХ©{гќь*+ЯGФAШј^&¬9гО&…m!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}>NCл^дБьi!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!mуыС:RнЁWnг‘И’.lЕ7зоЕg®ЖйФЫуЬ)‘o2€Ъ:ЈАѕpзP€шРєqМџGЛe{Y5ДИTR6ZЄ™.џmKМ6а)B!щIN6!зiГ»З§јV{e’о·r~8ыЧУґрЬLI"iQ’EЯTJ‰~ѓ§AщџЕ†[MШ№iфEА*°0UЏПЬµRзyф1єћмэBs2Щ{O,Чe Иѕз Q7=M\—вќ™гxДЈ†~кзпНО«Z|ѓхћЏъLРЭ&Х7–ҐIюоmAЦgїТCСЊg±ѓRґjЗtђтҐ!\sЕФ[т’®єdN•Б~Lцс&p:юЕ\Р
™М{FF}T№dВYІh*)П7·#Z†«Uµ«;}&5ы}Dbі…!ЫИ•>d&АЎqџР3b7Е8A=хeѓ…нЄЃп|§(IС=ўЭJOa3r?0®p€5UYа^XCбИG„]ЅмDѕ‚‚з ќeд§Эф}3ґьюjћ®D`Г „LУ6GхrнМпД©Lы•4s5х°ЅЏ|b?ћнК‚by“nDZ{FF}rфЫчЕХWNЬРѕУ¦›љЏВ’еeд-v0E_EWЙi*хvѓsьзР:Г&XmY"/S2nПёЧл№Нг~ !KоУЧа)Ћ.@И±|9±&ц\AZЧќ‡ёГ,3}dвHуЪж
)Мю=јѓіDНDnPU®Фµй±ТgM=*UFъсЉVA—wїjзЩЗ jIэЧ;=…‘ьх›&.!_9Еш:щ2NOП_#<**r¶єµ©ЙcСt78›gћ~¤фЇ!Хy:@Ўeі»qZ_аj,ВЪL‚r«
"ЎыЅЏi)шЅ5bс$ЏРmёГКЮРHЮШЂошSlЄ‡E@Ѓ@±mы,¤ЦўQаuQPАјы{FF}wuГђЎ§RGz]њ•CЌ#wGЃг(А‹EQT2{FF}>5/йјЏЎ№ЋЃ’к§—19ФЦ–ХДu1ХБќќl•ЩЮ{ы6Р †%ЯсљlmШдЧф"ЦgЦ4ФжOк*€[Ё|Ї›ї_d‚–Й7A$%Uv0vк¤тМ#ЁCтЩ;•nЖЎРїТaф^ВE·ЎИЧхЖ‡—0?/ОљPУЯдж]ъ{FF}Ц±“•ҐaOМ»FЂ.oсkb/Ѓнwђ§4M*Љ(J$‚$ђµнmrБќ.ЫU%UпґБіх¤Б8%> Д©€ІуKd—СТQѓЧ‹TЌ¬Ьз°™#TQЧB¤@џЗЅB gQПrЫПY9йtн…*йСЛ•Х6ф.рµGЏ0ўё‘%пЌщ№Ўµ±?"_8М@LВfц†nСѓкѓ~ћoЊж°зЄвЗyМЕЧшњNЄДГ›†–Ю+k·ДVЉFAЈц3і8hЕ]F…;‰ЕтV.Q°L№“ы^эч¦›Ґѕ‘•bxпuєЙ<ЮА№БЄЋjСбY#~џ;JЁСT=‘оЫdBDR‰њэ%®©:ъГдFNЉаf-oЅшо{FF}W†¬[ѕp5ц©fПуUЋГUЖЈДыJ=8гэѕ›=Ы)ЂП`У||ґфь^ЇdІВ]ЩЩЛѓч‰T="EчSш5uТс¦TµAћЧЄe—ѓ›nJЬ>tЉФл5Шъ:њ!<•^цe,±јIьЊЃz=plGџsъЪ*lщ"Voо№Џмј®‡gпн@DІДЋ‹щ_»¤™mХ©vЧе€3ZЇ…чWьдСjН{FF}2rJ?Kf*а*™Wє°Б_кІYАиG=Ѓ?еaЯЯ},л"0‰&ПЙЈщ«IW2фѓЃ~ФЦЄ1yщЛљЙПЉ(Ў3лЉ‡P„H"јЮOCљщЃ"еPљР*ИћF¬iнL_——‡Й
^¦uщїЛLЭ‚*?ђBЩЙоХ©{гќь*+ЯGФAШј^&¬9гО&…m
Никак не пойму, в чем проблема. При чем передается рандомное количество байт. Может кто работал с данной микрухой?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.03.2016, 15:57
Ответы с готовыми решениями:

TrueStudio + w5500 Ethrnet
по мотивам описанного http://www.nazim.ru/2386 пытаюсь соединится с модулем w5500 использую...

Что вы думаете о W5500?
цена вопроса 2-3 доллара. полное решение для скажем сервера на камне. стоит ли мутить стеки на...

Нужна летиратура, в которой бы описывались работа с событиями, работа с элементами управления
Помогите пожалуйста найти летиратуру, в которой бы описывались работа с событиями,работа со всеми...

Работа - проведение обучающих семинаров по C#. Работа по выходным дням ( сб-вс - 32 часа). От 30 000р.
Обязанности - проведение обучающих семинаров по C# Базовый (начальный уровень). Опыт...

Работа с Меню. Сохранение, печать, создать новый. Работа с рисованием
В общем сабж. Делается программа, которая должная Сохранять, печатать и очищать поле (создать...

11
BORS_
0 / 0 / 0
Регистрация: 24.09.2012
Сообщений: 278
02.03.2016, 17:15 2
И повторная посылка команды SEND не вызывает передачу, передает только после реинита w5500 и только один раз.
0
dim666
0 / 0 / 0
Регистрация: 30.01.2015
Сообщений: 24
02.03.2016, 20:45 3
Может стоит попробовать поработать через визнетовский драйвер, с ним все прекрасно отправляется/принимается.
0
BORS_
0 / 0 / 0
Регистрация: 24.09.2012
Сообщений: 278
03.03.2016, 13:00 4
Это который на сайте? Так там только базовые функции записи/чтения. Ни алгоритмов работы, ничего нет. Судя по даташиту я должен вычитать указатель передающего буфера, записать буфер, увеличить указатель буфера и записать его обратно. Но не хочет работать
0
03.03.2016, 13:00
dim666
0 / 0 / 0
Регистрация: 30.01.2015
Сообщений: 24
04.03.2016, 00:32 5
Да, тот самый. В нем есть все основные функции, установка соединения, прием/отправка пакетов, работа с регистрами т.д. Опять же в нем можно посмотреть как происходит запись в буфер и отправка.
0
tmttyb
0 / 0 / 0
Регистрация: 17.03.2012
Сообщений: 488
23.06.2017, 00:23 6
Начал осваивать W5500, возникли следующие вопросы:
1) почему в файле w5500.h закомментированы строчки с двумяконстантами?
Код
//#defyme SOCK_IPRAW                   0x32     /**< IP raw mode socket */
//#defyme Sn_MR_IPRAW                  0x03     /**< IP LAYER RAW SOCK */
данные константы используются в socket.c, чтобы скомпилировалось я разкомментировал эти две строчки.

2) кто-нибудь использует прерывания от W5500? Я подключил эту ногу, но потом выяснил что по умолчанию маски прерываний все нулевые. Какое прерывание самое ходовое, чтобы его проверить?

Update: попробовал сделать прерывание wizchip_setinterruptmask(IK_SOCK_0); Работает. Не понял, нужно ли сбрасывать прерывания, чтобы работали следующие прерывания, например вот так:
Код
ctlwizchip(CW_CLR_INTERRUPT, (void *)IK_SOCK_0);
почему работает без обнуления?

Как сделать прерывание по приходу байтов? По TCP либо по UDP.
0
BORS_
0 / 0 / 0
Регистрация: 24.09.2012
Сообщений: 278
23.06.2017, 14:15 7
Цитата Сообщение от tmttyb
кто-нибудь использует прерывания от W5500?
Я использую, и довольно успешно. Сама микруха работает как часы. Библиотеку сам писал.

Цитата Сообщение от tmttyb
Как сделать прерывание по приходу байтов? По TCP либо по UDP.
Прочесть даташит.
0
tmttyb
0 / 0 / 0
Регистрация: 17.03.2012
Сообщений: 488
24.06.2017, 07:48 8
Сделал прерывания, в прерывании только устанавливаю флаг, никаких отправок по SPI. Сделал так, чтобы SPI не вклинилось в какой-нибудь текущий обмен из главного цикла (альтернативно можно было бы временно выключать прерывание exti) Столкнулся с проблемой обмена на сокетах. Recv всегда работает, а Send срабатывает только первый раз. На форуме Радиокот видел похожую проблему, но как там автор решил проблему неизвестно. Send постоянно возвращает ноль и программа зацикливается. Ошибку пока не нашел. Чипом очень доволен, буквально за два дня во многом разобрался. Минус в том, что все примеры без прерываний.
0
BORS_
0 / 0 / 0
Регистрация: 24.09.2012
Сообщений: 278
24.06.2017, 09:22 9
А буфер каждый раз заполняешь перед отправкой? Там хитрая система, прежде чем писать в буфер сокета надо прочесть его текущий адрес, затем по этому адресу записать данные, после чего надо записать новый адрес с учётом длины записанных данных.
0
tmttyb
0 / 0 / 0
Регистрация: 17.03.2012
Сообщений: 488
25.06.2017, 08:28 10
Нашел ошибку. В функции Send обрабатываются регистры прерываний, и оно потом вечно ждёт SEND_OK, т.к. я его уже снаружи сбросил в своём обработчике. Написал свою функцию Send, теперь всё работает. Проверил loopback тест программой AX1.EXE
0
alecksis87
0 / 0 / 0
Регистрация: 05.08.2018
Сообщений: 1
05.08.2018, 17:23 11
Не могу разобраться со строением памяти в w5500. Вроде всё должно быть просто, а по схеме не могу въехать, что к чему. Прикладываю схему из даташыта.
Как может память быть сначала идти формата 7 registr, 7 tx, 7 rx,
а потом (справа) показывается , что все блоки Rx собраны вместе , и блоки TX собраны вместе.
Посередине буфер, если это буфер, то зачем лепить есче один буфер (справа)?
http://nasos.brest.by/files/7c53bd23-2f94-461d-a5db-cbc5f50b4eb0.jpg
0
Vaarallinen
0 / 0 / 0
Регистрация: 14.02.2016
Сообщений: 1
02.10.2018, 14:10 12
Цитата Сообщение от BORS_ Посмотреть сообщение
Никак не пойму, в чем проблема. При чем передается рандомное количество байт. Может кто работал с данной микрухой?
Работал с W5300, подозреваю что у W5500 примерно тоже самое. Там есть такой прикол, что перед отправки команды SEND надо заслать в микруху размер передаваемой посылки в байтах. Для этого есть два регистра, не помню как они конкретно называются, но суть в том, что у них названия в стиле Sx_WRSR_0, Sx_WRSR_2 (это не точные названия и следует сверяться с даташитом). При этом, если у вас размер относительно маленький (не помню сколько конкретно), то размер пишется в Sx_WRSR_2. Короче, правило такое, что младшие биты размера пишутся в Sx_WRSR_2, старшие в Sx_WRSR_0. Аналогично при приёме.
0
02.10.2018, 14:10
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.10.2018, 14:10

Работа формы в фоне, вне фокуса (работа с раскладкой клавиатуры)
Как заставить это работать в фоне? Даный код работает пока форма в фокусе, как только ее...

Количество подведенного и отведенного тепла, работа сжатия, работа расширения
Определить количество подведенного и отведенного тепла, работу сжатия, работу расширения, полезную...

Работа с файловой системой (системное название некоторых папок и работа со скрытыми документами)
Всем привет, подскажите каким образом можно из VBA сохранить документ txt в папке &quot;Общие...


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

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

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