UDP compilation error in State-flow

7 visualizzazioni (ultimi 30 giorni)
Martin
Martin il 14 Ago 2013
Hi.
I have linked an Arduino to Matlab using UDP as:
u = udp('10.0.0.177','RemotePort',8888,'LocalPort',9060); %Udp-protocol
fopen(u); %open tow
status = fscanf(u,'%s'); %read protocol as string
fclose(u); %close tow
delete(u); %delete protocol, release port
This worked fine until I wanted to call this as a function in State-flow. State-flow compiles the functions to C code and the udp function does not compile.
I tried to use compilible dsp.UDPReceiver as:
H = dsp.UDPReceiver('RemoteIPAddress','10.0.0.177','LocalIPPort',9060);
status = step(H);
release(H);
but this does not work. I found that step does not accept string, but the Arduino seems to only be able to send strings.
I also tried using the UDPReceiver block in Simulink but with very strange results. I receive numbers that dont match what is sent.
So I would like to either be able to compile the udp function or send strings via UDPReceiver, can anyone help me with that I would realy appreciate it.
/Martin

Risposta accettata

Martin
Martin il 19 Ago 2013
Answering my own question.
I was unable to get dsp.UDP working, instead I had to move the UDP communication outside State-flow into Simulink (using flags for commands) and call it as an embedded Matlab function.
Not optimal, but it seems to work.

Più risposte (0)

Categorie

Scopri di più su Stateflow in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by