Read UDP packets asynchronously from Simulink in MATLAB

2 次查看(过去 30 天)
I have a very simple setup where I am generating a sine wave in simulink and sending it through a UDP block.
On the other hand I have MATLAB where I want to asynchronously fire a callback as soon as a packet is received.
On simulink I have my remote address set to 127.0.0.1 and my port to 25000.
In MATLAB I am using the following code.
u = udp('127.0.0.1', 25000);
u.ReadAsyncMode = 'continuous';
fopen(u);
u.BytesAvailableFcn = 'myfunction';
where myfunction simply prints a string.
However the callback is not being executed at all (it does work with echoudp). What could I be doing wrong?

回答(1 个)

Michael
Michael 2019-6-7
I belive you need to use the function handle for myfunction
u = udp('127.0.0.1', 25000);
u.ReadAsyncMode = 'continuous';
fopen(u);
u.BytesAvailableFcn = @myfunction
function [] = myfunction(event, obj)
disp('Callback worked!')
end

类别

Help CenterFile Exchange 中查找有关 Simulink Functions 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by