MATLAB Answers

0

Serial Communication Code Error

Asked by Tobias Wzl on 24 Oct 2017
Latest activity Commented on by Walter Roberson
on 3 Nov 2017
h=instrfindall;
for i= 1:length(h)
fopen('COM'+string(i))
end
h=instrfindall;
str=string(h.name(find(cell2mat(h.BytesAvailable))));
fclose('all');
fopen(str);
I developed this code on friday for finding out on which Port my Arduino is plugged in and it actually worked. Today I tried to implement the code into my GUI and an error is appearing.
Error: Struct contents reference from a non-struct array object.
What do I have to do, so that the error won't appear anymore?
Thank you for your help

  0 Comments

Sign in to comment.

2 Answers

Answer by Nate
on 26 Oct 2017

Hi Tobias,
Could you please provide more information?
1) Does the code still work correctly when it is not in a GUI? 2) Could you please provide the full error? I am interested in knowing which line causes the error.
Thanks, Nate

  1 Comment

No unfortunately not, but in first place it worked in both ways I don't know what's wrong now.
If run the code separate outside of a GUI the error appears in line 6:
*Struct contents reference from a non-struct array object.
Error in Untitled (line 6) str=string(h.name(find(cell2mat(h.BytesAvailable))));*

Sign in to comment.


Answer by Walter Roberson
on 27 Oct 2017

You would get that error if instrfindall returns empty.

  8 Comments

What is returned if you execute
com.mathworks.toolbox.instrument.Instrument.jinstrfindall
Also, try
instrreset
if I execute the first command an empty answer appears --> ans=[]
if I execute the second command Matlab tells me that the function is undefined
And sorry for the late answer I was ill for the last whole week
Hmmm, instrreset has been around in Instrument Control Toolbox since before R2006a; https://www.mathworks.com/help/instrument/instrreset.html
Anyhow, I do not know why your devices cannot be seen, unless perhaps the system considers them to already be in use for something else. Perhaps this link will help: http://www.intech.co.nz/downloads/help/mscanv5/faq_84.htm

Sign in to comment.