我正在使用串行端口和多个列表框来读取串行端口中的数据。列表框用于读取特定数据(假设数据来自3个不同的来源,因此我有3个列表框)。
现在出现问题:
我想分别连续地阅读所有数据。我的意思是,当我在阅读列表框#1的数据后点击一个列表框(例如列表框#2)时,列表框#1会自动停止,所以我再次需要单击列表框#1来读取列表框#1的数据。但是我想在所有列表框中连续获取数据,而不是每次都点击(第一次点击初始化)。我怎样才能做到这一点?我尝试了其他方法,但没有工作。
补充评论:按照以下评论工作。
示例代码[已添加Edited和OpeningFcn]:
function main_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
handles.timer = timer(...
'ExecutionMode', 'fixedRate', ... % Run timer repeatedly
'Period', 1, ... % Initial period is 1 sec.
'TimerFcn', {@listbox1_Callback, handles});
guidata(hObject, handles);
function listbox1_Callback(hObject, eventdata, handles)
%serConn is the connection to COM port
out = fscanf(handles.serConn);
string = 'degrees1';
t=1;
while(t < 15)
if strncmp(out,string,8)
rxtext = out(14:15);
currList = get(handles.listbox, 'String');
set(handles.listbox,'String',...
[currList ; [temp]]);
end
pause(5);
t = t+1;
end