реклама на сайте
подробности

 
 
> Матлаб и пакеты UDP
_Anatoliy
сообщение Jul 3 2017, 07:47
Сообщение #1


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Всем доброго времени суток!
Мне нужно принять информацию из разрабатываемого изделия в Матлаб посредством Ethernet , пакеты UDP. Протокол простой - отсылаю пакет с кодом команды и параметром, изделие в ответ высылает 4 пакета UDP с информацией. Вроде всё работает , но почему-то не могу прочитать нужное количество байт из принятых пакетов. В основном принимается 512 байт, иногда меньше. Мне же нужно принять из каждого пакета 1026 байт. Как решить эту задачу?
Код
    fwrite(u,[52 01]);
    C = fread(u,1026);
    D = fread(u,1026);
    E = fread(u,1026);
    F = fread(u,1026);
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
yanusa
сообщение Sep 26 2017, 15:48
Сообщение #2





Группа: Участник
Сообщений: 5
Регистрация: 26-09-17
Пользователь №: 99 485



А у меня не работает(((
Go to the top of the page
 
+Quote Post
Kluwert
сообщение Nov 15 2017, 22:24
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 239
Регистрация: 15-11-09
Из: Санкт-Петербург
Пользователь №: 53 639



Цитата(yanusa @ Sep 26 2017, 18:48) *
А у меня не работает(((

Если вы под Виндовозом, то он очень капризен по части скурпулёзности выставки параметров пакетов. В большинтсве случаев, если в IP-заголовке не верно установлен IP-адрес, или макушник, то Варешарк пакеты покажет, т.к. он "садится" прямо по верх специального сетевого драйвера-насадки, но до верхних приложений они не доберутся. Проверяйте, что IP-адрес и макушник соотвествуют хосту и у вас открыт UDP-порт, который прописан в UDP-заголовке пакетов.
Кроме того, проверьте ещё раз, что контрольные суммы прописаны. UDP позволяет закатать значение +0 в поле КС, которое означает, что его не вычисляли, но такой пакет практически 100% не пройдёт через крупную сеть (тем более - через Инет). КС IP-заголовка, теоретически, тоже можно не считать, но такой пакет приедет в Варешарк, но будет 100% прибит системой и до Матлаба не доедет. Кроме того, у некоторых сетевых карта есть опция, позволяющая всасывать в хост пакеты даже с битым crc32! И, по закону подлости, она (конечно!) оказывается включённой по умолчанию. Такой пакет железно дальше драйвера не уедет.

А вообще, если разрешается, то вот внешняя ссылка (http://we.easyelectronics.ru/electro-and-pc/neskolko-slov-ob-otladke-1gb-ethernet-proektov-na-plis-chast-ii.html) на мою статью на "Изиэлектроникс", там больше подробностей. Заранее прошу прощения у модераторов, если ссылку ставить нельзя.

Сообщение отредактировал Kluwert - Nov 15 2017, 22:35
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 20:55
Рейтинг@Mail.ru


Страница сгенерированна за 0.01365 секунд с 7
ELECTRONIX ©2004-2016