Untitled
unknown
plain_text
2 years ago
2.9 kB
9
Indexable
classdef app1 < matlab.apps.AppBase
% Properties that correspond to app components
properties (Access = public)
UIFigure matlab.ui.Figure
UIAxes matlab.ui.control.UIAxes
end
% Callbacks that handle component events
methods (Access = private)
% Key press function: UIFigure
function ReceiveDataButtonPushed(app, event)
key = event.Key;
serialportlist("available")
s = serialport("COM5", 9600);
configureTerminator(s, "LF");
flush(s);
pause(2);
receivedData = [];
second = 0;
while true
data = readline(s);
data = str2double(data);
receivedData = [receivedData, data];
second = second + 1;
cla(app.UIAxes);
plot(app.UIAxes, 1:second, receivedData, 'r-');
xticks(app.UIAxes, 1:second);
xticklabels(app.UIAxes, num2str((1:second)'));
ylim(app.UIAxes, [0, 1]);
drawnow;
fprintf("Received: %f\n", data);
fprintf("now: %d\n", second);
end
end
end
% Component initialization
methods (Access = private)
% Create UIFigure and components
function createComponents(app)
% Create UIFigure and hide until all components are created
app.UIFigure = uifigure('Visible', 'off');
app.UIFigure.Position = [100 100 640 480];
app.UIFigure.Name = 'MATLAB App';
app.UIFigure.KeyPressFcn = createCallbackFcn(app, @ReceiveDataButtonPushed, true);
% Create UIAxes
app.UIAxes = uiaxes(app.UIFigure);
title(app.UIAxes, 'Arduino Due data')
xlabel(app.UIAxes, 'time')
ylabel(app.UIAxes, 'data')
zlabel(app.UIAxes, 'Z')
app.UIAxes.XTick = [0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1];
app.UIAxes.Position = [1 1 640 480];
% Show the figure after all components are created
app.UIFigure.Visible = 'on';
end
end
% App creation and deletion
methods (Access = public)
% Construct app
function app = app1
% Create UIFigure and components
createComponents(app)
% Register the app with App Designer
registerApp(app, app.UIFigure)
if nargout == 0
clear app
end
end
% Code that executes before app deletion
function delete(app)
% Delete UIFigure when app is deleted
delete(app.UIFigure)
end
end
endEditor is loading...