fscanf in simulink?

1 view (last 30 days)
raymon saadalla
raymon saadalla on 21 Jun 2017
Edited: raymon saadalla on 21 Jun 2017
I receive some strings in UDP. I can see them using fscanf. But I would like to have them in Simulink environment. I tried stream input block, but it seems that it's different from fscanf. Is there any way that I can monitor the strings, received via UDP, in Simulink? they are ascii value how can i read them in simulink

Answers (1)

Walter Roberson
Walter Roberson on 21 Jun 2017
Use a UDP receive block, for which the output type has been set to (or left at) uint8. Pass the output to a MATLAB Function Block. Inside the function block, char() the byte vector. You can sscanf() the resulting string.
  1 Comment
raymon saadalla
raymon saadalla on 21 Jun 2017
Edited: raymon saadalla on 21 Jun 2017
thanks, so i do something like that and this is my function block, but I keep getting not enough arguments error ? any idea why is that.
function output = func(data)
coder.extrinsic('sscanf')
x=sscanf(data)
channel0= x(20:23)
channel0 = strtrim(channel0);
channel0 = str2double(double(channel0))
output = coder.nullcopy(zeros(size(data)));
output = channel0;
end

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!