What is the correct way to close a serialport connection in App Designer?

16 Ansichten (letzte 30 Tage)
As per the the serialport documentation, the way to create and delete a serial connection should be
s = serialport(device,baudrate);
clear s;
However, in app designer, I want multiple functions to be able to read/write to the port, so I have made s a property of the app. You can't clear an app property thought. So what is the correct way free app.s so it can be reconnected to the same device later?
Failing to clear s gives the usual error of "Unable to connect". Setting app.s to some other value, and then creating a new serialport object doesn't close the old connection (i suppose it overwrites the location of the serialport object).

Antworten (3)

Jingyi Zhou
Jingyi Zhou am 17 Jun. 2020
I find a solution for this question.
First, I add a public property for this app. It is called Serial_Port, used to save the serialport objet.
properties (Access = public)
Serial_Port % Description
end
then, when I want to open a serial
app.Serial_Port = serialport(app.DropDown_SerialPort.Value,str2double(app.DropDown_Baudrate.Value));
when I want to close this serialport,
app.Serial_Port = [];
And because this property is public, this open and close command don't have to be in the same function.
Hope can help you~

Dominik Mair
Dominik Mair am 27 Okt. 2020
Hi!
I used a "dirty" workaround with the old guis. Maybe something similar works with apps:
In an old project i used following containing my serialport object:
handles.ACTIVECOMPORT
If i want to reset it i used:
temp=handles.ACTIVECOMPORT;
handles.ACTIVECOMPORT=[];
delete(temp)

Harsha Priya Daggubati
Harsha Priya Daggubati am 27 Mär. 2020
Bearbeitet: Harsha Priya Daggubati am 27 Mär. 2020
Hi,
I guess you can set app.s to an empty value, after all the intended work is done.
Link to a similar question:
Hope this helps!
  1 Kommentar
Nolan King
Nolan King am 30 Mär. 2020
Unfortunatly that doesn't close the serial connection, which is the point of clearing the variable.

Melden Sie sich an, um zu kommentieren.

Produkte

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by