The part in question is under %READS DATA, i'm trying to run the accelerometer, UNLESS another pushbutton is pressed, which should make a == 1
Breaking a loop GUI?
1 view (last 30 days)
Show older comments
Reading in accelerometer data in a GUI code. I'm trying to break the loop while reading by using the following code...
function pushbutton8_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton8 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
a = getappdata(handles.text11, 'text11');
%COMPORT
comPort = '/dev/tty.usbmodemfd121';
%READS SERIAL
[accelerometer.s,serialFlag] = setupSerial(comPort);
calCo = calibrate(accelerometer.s);
%READS DATA
while (a == 0)
if (a == 1)
closeSerial
end
[gx gy gz] = readAcc(accelerometer,calCo);
cla;
r = sqrt((gx^2)+(gy^2)+(gz^2));
r
end
guidata(hObject, handles);
My problem is that the data keeps reading even when (a == 1), which is activated from a separate pushbutton. I've already tested the outputs of both each pushbuttons and they do read 0 and 1, but when reading the data, if I press the 1 pushbutton the data will still read.
6 Comments
Answers (1)
Walter Roberson
on 11 Feb 2013
while true
drawnow;
a = getappdata(handles.text11, 'text11');
if a == 0; break; end
...
end
2 Comments
Jan
on 11 Mar 2013
@Amed: Neither "oh ok" nor "anything" contains enough information to understand, if this answer has solved your problem or not. If you want help, provide more details instead of bumping the thread without new informations.
See Also
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!