• Регистрация
Егор
Егор 0.00
н/д

Приём данных из Ethernet по UDP в MATLAB с помощью скриптов

02.04.2022
Всем здравствуйте! С ПЛИС (source) в Ethernet с адресом 192.168.1.41 и портом 2054 по протоколу UDP отсылаю пакет в 822 байта в компьютер (destination) с адресом 192.162.1.160 и портом 2054. Программо...

Всем здравствуйте! С ПЛИС (source) в Ethernet с адресом 192.168.1.41 и портом 2054 по протоколу UDP отсылаю пакет в 822 байта в компьютер (destination) с адресом 192.162.1.160 и портом 2054. Программой WireShark вижу пакеты (скриншот прилагаю), копирую их и вставляю в MATLAB, далее обрабатываю и отлаживаю прошивку.


Хотел автоматизировать процесс и загружать данные сразу в MATLAB в Workspace. В справке нашёл следующий код, который реализует эхо-приём:

echoudp('on',4012);
u = udp('127.0.0.1',4012);
fopen(u);
fwrite(u,65:74);
A = fread(u,10);
echoudp('off');
fclose(u);
clear u;

Приёмо-передача работает. По аналогии пишу следующее:

clear all;
u = udp('192.168.1.160',2054);
fopen(u);
A = fread(u,1);
fclose(u);

И ничего не принимается. Заменил вторую строку предыдущего кода на:

u = udp('192.168.1.41',2054);

 И всё равно не получается принять. В чём ошибка? Возможен ли приём пакета по UDP в Workspace MATLAB'а?

Теги

    02.04.2022

    Комментарии