Приём данных из Ethernet по UDP в MATLAB с помощью скриптов
02.04.2022
Всем здравствуйте! С ПЛИС (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'а?
Ответы