What is the correct way to close a serialport connection in App Designer?
16 ビュー (過去 30 日間)
古いコメントを表示
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).
0 件のコメント
回答 (3 件)
Jingyi Zhou
2020 年 6 月 17 日
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~
1 件のコメント
Dominik Mair
2020 年 10 月 27 日
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)
0 件のコメント
Harsha Priya Daggubati
2020 年 3 月 27 日
編集済み: Harsha Priya Daggubati
2020 年 3 月 27 日
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!
参考
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!