MATLAB: WHAT IS THE PROBLEM IN MY TRY and CATCH? or How to call a function inside a function?? CAN SOMEONE HELP?? Im working with Arduino and GUI for monitoring for the thesis..

catchhow to call a function inside a functionmy functiontry

THE CODE BELOW WORKS: ————————————————
s=serial ('COM43', 'BaudRate',9600,'DataBits',8,'StopBits',1,'InputBufferSize',212); fopen(s); count =0;
while (1)
%data from power analyzer
%InRange,-0250.6,0010.0,-0150.2,+0.6228,220.39,0.5806

pause(0.1);
data = fgets(s);
[load3 P3 S3 Q3 PF3 V3 I3 main P S Q PF V I load2 P2 S2 Q2 PF2 V2 I2 load1 P1 S1 Q1 PF1 V1 I1] =...
strread(data,'%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s','delimiter',',');
%%%%%%GET DATA FROM PA TO MAIN GUI%%%%%%

set(handles.LP4,'String',P);
set(handles.LQ4,'String',Q);
set(handles.LV4,'String',V);
end
-------------------------------------------------
BUT WHEN I CHANGE IT TO THIS CODE BELOW… no errors but nothing happens. what is the problem with the code??
—————————————
function serconnect_Callback(hObject, eventdata, handles)
if strcmp(get(hObject,'String'),'CONNECT')
serPortn = get(handles.sercomm, 'Value');
if serPortn == 1
errordlg('Select valid COM port');
else
serList = get(handles.sercomm,'String');
serPort = serList{serPortn};
serConn = serial(serPort,'BaudRate',9600,'DataBits',8,'StopBits',1,'FlowControl','none');
set(serConn, 'ReadAsyncMode', 'continuous');
try
fopen(serConn);
handles.serConn = serConn;
set(handles.serconnect, 'String','DISCONNECT');
set(handles.sercomm, 'Enable','off');
set(serConn, 'BytesAvailableFcn', {@myfunc,handles});
catch e
errordlg(e.message);
end
end
else
set(hObject, 'String','CONNECT');
set(handles.serconnect, 'BackGroundColor','default');
set(handles.sercomm, 'Enable','on');
fclose(handles.serConn);
end
guidata(hObject, handles);
—————— BELOW IS THE FUNCTION CALLED ——————-
try RxText = fscanf(handles.serConn); RxText=strtrim(RxText);
%data from Arduino
%InRange,-0250.6,0010.0,-0150.2,+0.6228,220.39,0.5806
if strcmp(RxText(1,1),'InRange')
handles.counter = handles.counter + 1;
%get Arduino data
[load3 P3 S3 Q3 PF3 V3 I3 main P S Q PF V I load2 P2 S2 Q2 PF2 V2 I2 load1 P1 S1 Q1 PF1 V1 I1] =...
strread(RxText,'%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s','delimiter',',');
%%%%%%GET DATA FROM PA TO MAIN GUI%%%%%%
set(handles.LP4,'String',P);
set(handles.LQ4,'String',Q);
set(handles.LV4,'String',V);
end
catch e
disp(e)
end
—————- CAN SOMEONE HELP? then when I add 'InputBufferSize',212 in the the serconn still it does not work but have no errors ———-

Best Answer

Is RxText a 2D array? Have you considered strfind() instead of strcmp()?
Related Question