MATLAB: How to close properly an app (built with Matlab App Designer)

matlab app designer arduino com serial port

Hey,
I built a Matlab App Designer App for some kind of real time measurements. It communicates with Arduino by RS232… When I want to close the App, the Arduino continues to send some datas… and so the following procedure does not work: disp('FERMETURE DE L''APPLICATION'); %fclose(app.COM_A); fclose(app.COM_B); delete(app);
I also get the following error:
"Invalid or deleted object.
Error in app_v4/serial_data_available_B (line 125) app.oldTempsCOM_B=tempsCOM_B;
Error in app_v4>@(varargin)app.serial_data_available_B(varargin{:}) (line 168) app.COM_B.BytesAvailableFcn = @app.serial_data_available_B;
Error in instrcb (line 42) feval(val{1}, obj, eventStruct, val{2:end});
Warning: The BytesAvailableFcn is being disabled. To enable the callback property either connect to the hardware with FOPEN or set the BytesAvailableFcn property."

Best Answer

App Designer provides a closeRequest callback function which may be what you need. If you right click on the UIFigure in App Designer and select callbacks and select "Add closeRequestFcn callback, you can write the code you need to execute when you close the app to disconnect from the Arduino.