MATLAB: How to clear Arduino connection when it is a member of handles in GUI

arduinohandlesMATLABmatlab gui

I recently started building a GUI to set up a small control system based on arduino. Here is the thing. I set up my arduino in the opening function with following code
handles.board=arduino();
I thought this would be helpful since I only need to pass the handles variable. It worked pretty well. But after I close the GUI, it cant not start again due to the error below.
MATLAB connection to Due at COM4 exists in your workspace. To create a new connection, clear the existing object
I might need to clear the arduino variable just as MATLAB arduino tutorial does. But after i close the GUI, running 'clear' or 'clear all' cannot solve the problem. Meanwhile, if I restart the GUI with the arduino line being commented, there won't be a board member in handles. So the handles is destroyed after GUI is shut down but the connection is still there. What should I do?

Best Answer

Hi Zicong,
Try clearing out the Arduino object in the CloseRequestFcn. This callback executes whenever you try to close your GUI, so you might be able to clear the connection.
Also use the following function to clear the board object.
clear aurduino_object ;