Я пытаюсь создать графический интерфейс с помощью GUIDE, который читает строку через последовательную связь. После этого он вырезает нужные цифры и помещает их на экран. Я создал эту функцию, которая выполняется каждый раз, когда есть строка данных в буфере COM порта:Не удается получить доступ к функциям от функции
function out = intcon1(hObject, eventdata, handles)
global comPort;
a=fgetl(comPort);
disp(a);
a(a==' ') = '';
indexstart=strfind(a,'[');
indexend=strfind(a,']');
measureddata=a(indexstart(1):indexend(1));
commas=strfind(measureddata,',');
re1data=measureddata(2:(commas(1)-1));
re2data=measureddata((commas(1)+1):(commas(2)-1));
im1data=measureddata((commas(2)+1):(commas(3)-1));
im2data=measureddata((commas(3)+1):(commas(4)-1));
temp1data=measureddata((commas(4)+1):(commas(5)-1));
temp2data=measureddata((commas(5)+1):(commas(6)-1));
old_str=get(handle.re1, 'String');
new_str=strvcat(old_str, re1data);
set(handles.listbox8, 'String', re1data);
Теперь я пытаюсь поместить данные в ListBox. Это только первое значение. Проблема в том, что Matlab продолжает говорить, что ручки не определены. Но я уже cound создать кнопку, которая очищает ListBox, используя следующий код:
function clearlists_Callback(hObject, eventdata, handles)
% hObject handle to clearlists (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
set(handles.listbox8, 'String', '');
Кто-нибудь есть идея, что проблема и как это исправить?
Это вызов последовательного порта с использованием 'BytesAvailableFcn'? Если так, вы ожидаете полностью неправильные параметры. – Notlikethat
Да, он использует BytesAvailableFCN. Какими могут быть параметры? – bdvd
Можете ли вы разместить код, в котором вы создаете объект serial, и определить BytesAvailableFCN? – jerad